2013-12-04 3 views
1

Мне нужно зажать несколько изображений. Я добавил каждый из UIImageView в UIView и добавил UIView в UIScrollView. и возвращает представление UIView imageForZoomingInScrollView: метод делегирования, но изображения не масштабируются, как ожидалось. есть ли лучший способ?Как ущипнуть многократное изображение UIImageView внутри UIScrollView

+0

refere этот https://developer.apple.com/library/ios/samplecode/Touches/Touches.zip – preetam

+0

@keshav же вопрос здесь проверить ссылку вот мой код http://pastebin.com/4idGrBXR – Rushabh

+0

@keshav вставить код здесь :) – Rushabh

ответ

0
  • Проверьте минимальные и максимальные масштабные свойства прокрутки. (max должно быть больше мин для увеличения)
  • убедитесь, что вы возвращаете соответствующий UIImageView, а не UIView
  • Убедитесь, что делегат прокрутки задан как объект, которому вы хотите делегировать сообщения о представлении прокрутки для отправки, как viewForZoomingInScrollView:
+0

та же проблема здесь проверить мой код ссылка http://pastebin.com/4idGrBXR – Rushabh

+0

Я думаю, вы не установили 'scrollView.delegate' как self. Таким образом, метод 'viewForZoomingInScrollView' не будет вызываться. – neeraj

+0

Спасибо, теперь он работает лучше, чем раньше. – keshav

1
#define VIEW_FOR_ZOOM_TAG (1) 

@implementation [SVViewController][1] 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIScrollView *mainScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; 
    mainScrollView.pagingEnabled = YES; 
    mainScrollView.showsHorizontalScrollIndicator = NO; 
    mainScrollView.showsVerticalScrollIndicator = NO; 

    CGRect innerScrollFrame = mainScrollView.bounds; 

    for (NSInteger i = 0; i < 3; i++) { 
     UIImageView *imageForZooming = [[UIImageView alloc] initWithImage:[UIImage imageNamed: 
     [NSString stringWithFormat:@"page%d", i + 1]]]; 
     imageForZooming.tag = VIEW_FOR_ZOOM_TAG; 

     UIScrollView *pageScrollView = [[UIScrollView alloc] initWithFrame:innerScrollFrame]; 
     pageScrollView.minimumZoomScale = 1.0f; 
     pageScrollView.maximumZoomScale = 2.0f; 
     pageScrollView.zoomScale = 1.0f; 
     pageScrollView.contentSize = imageForZooming.bounds.size; 
     pageScrollView.delegate = self; 
     pageScrollView.showsHorizontalScrollIndicator = NO; 
     pageScrollView.showsVerticalScrollIndicator = NO; 
     [pageScrollView addSubview:imageForZooming]; 

     [mainScrollView addSubview:pageScrollView]; 

     if (i < 2) { 
      innerScrollFrame.origin.x += innerScrollFrame.size.width; 
     } 
    } 

    mainScrollView.contentSize = CGSizeMake(innerScrollFrame.origin.x + 
    innerScrollFrame.size.width, mainScrollView.bounds.size.height); 

    [self.view addSubview:mainScrollView]; 
} 

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { 
    return [scrollView viewWithTag:VIEW_FOR_ZOOM_TAG]; 
} 

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait; 
} 

- (BOOL)shouldAutorotate { 
    return NO; 
} 

@end 


    [1]: http://www.lyricspoints.com 
+0

Некоторая информация была бы приятной, а не просто отправкой кода. –

Смежные вопросы