如何缩放照片滚动条中的单个图像(UIScrollView)

时间:2012-12-23 15:36:56

标签: ios5 uiscrollviewdelegate pinchzoom

我有一个UIScrollView,它使用以下代码改编自水平排列的大约10个图像:

- (void)layoutScrollViewImages
{
    UIImageView *view = nil;
    NSArray *subviews = [scrollView subviews];
    CGFloat curXLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(curXLoc, 0);

            view.frame = frame;
        curXLoc += (kScrollObjWidth);

        }
    }
    [scrollView setContentSize:CGSizeMake((kNumImages * kScrollObjWidth),[scrollView bounds].size.height)];
}

用户可以以水平方式逐个浏览图像,但我希望每个单独的图像都可缩放。我试过在viewForZoomingInScrollView中返回我的scrollView,但这似乎缩放了整个scrollview,而不是单个图像。另外,我已经尝试将UIImageView设置为属性并返回该属性,但仍然没有取得任何成功。此外,我已经尝试在故事板中添加捏手势识别器,但这并不是全部工作。所以寻找一些关于如何在scrollView.subviews数组中返回单个UIImageView的指导。

1 个答案:

答案 0 :(得分:0)

听起来你想要类似于苹果照片库效果的东西,你可以从图像到图像滑动,但每张图像都可以缩放/滚动。

您必须将每个子视图放在其自己的缩放滚动视图中。然后每个人都可以独立于其他人滚动。

看一下Apple的'photoscroller'示例代码(只需在文档中搜索photoscroller)。还有一个WWDC视频伴随代码(WWDC 2010,“使用滚动视图设计应用程序”)