使用 UIImage 放大滚动视图
Posted
技术标签:
【中文标题】使用 UIImage 放大滚动视图【英文标题】:Zoom in Scroll view with UIImage 【发布时间】:2012-08-22 13:11:13 【问题描述】:我试图放大具有多个图像的滚动视图,滚动视图仅垂直滚动,我尝试实现多种方式,在许多示例中但没有一种可行。 这是我用来创建图像和滚动视图的代码:
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
for (int i = 0; i < 6; i++)
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"amap1%i.png",i+1]];
// create imageView
_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, _scrollView.frame.size.height*i, _scrollView.frame.size.width, _scrollView.frame.size.height)];
// set scale to fill
_imageView.contentMode = UIViewContentModeScaleToFill;
// set image
[_imageView setImage:image];
// add to scrollView
[self.scrollView addSubview:_imageView];
_scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width, _scrollView.frame.size.height * 6);
_scrollView.bounces = NO;
_scrollView.pagingEnabled = YES;
【问题讨论】:
【参考方案1】:看起来您需要为每个图像(放大)使用 UIScrollView 执行 UIScrollView(包含所有图像 - 水平滚动)。
有一个 WWDC 视频讨论了如何做到这一点(WWDC 2010 - Session 104;link to iTunes)
【讨论】:
【参考方案2】:如果你想在 UIScrollView 中实现缩放,你必须做以下事情
-
将
zoomEnabled
设置为YES
实现一个滚动视图委托
请查看Apple documentation,上面写着:
要使缩放和平移工作,代理必须同时实现 viewForZoomingInScrollView: 和 scrollViewDidEndZooming:withView:atScale:;另外,最大(maximumZoomScale)和最小(minimumZoomScale)缩放比例必须不同。
【讨论】:
以上是关于使用 UIImage 放大滚动视图的主要内容,如果未能解决你的问题,请参考以下文章