ios - 如何在 UIScrollView 中捏缩放多个 UIImageViews

标签 ios iphone uiscrollview uiimageview pinchzoom

我必须缩放多张图片。我已将每个 UIImageView 添加到 UIView,并将 UIView 添加到 UIScrollView。并返回 UIView 图像 viewForZoomingInScrollView: 委托(delegate)方法,但图像未按预期缩放。有没有更好的办法?

最佳答案

#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

关于ios - 如何在 UIScrollView 中捏缩放多个 UIImageViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20374701/

相关文章:

ios - 什么设置决定应用程序是否针对 iPhone 6 和 6plus 进行缩放?

iphone - 是否可以使用应用程序分发已填充的钥匙串(keychain)

iphone - 在 UIScrollview 中管理大量昂贵的 UIView

iphone - UIScrollView 和多个 UITextField

iOS 设备未使用 GDAsyncUdpSocket 接收 UDP 多播

ios - 获取NSString中某个字符前后的部分范围

ios - 动画 UIButton 状态淡入淡出点击

iphone - UIScrollView 将触摸发送到 subview

ios - 如何创建横向和纵向的图像集?

ios - 如何在 iPhone 上将 @1x iPad 图像加载为 @2x 图像?