iOS开发—UIScrollView控件实现图片缩放功能

更新: 2016-05-28 03:49 编辑:生活经验

我们在实现图片浏览的时候,经常要用到这样的功能

经常,我们要对某些内容进行手势缩放,如下图所示

UIScrollView可滚动显示大量内容,还能对其内容进行缩放处理。要完成缩放功能的话,只需将需要缩放的内容添加到UIScrollView中即可。

iOS开发—UIScrollView控件实现图片缩放功能

原理:当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件

当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的viewForZoomingInScrollView:方法,这个方法返回的控件就是需要进行缩放的控件。

iOS开发—UIScrollView控件实现图片缩放功能

实现缩放功能的4个步骤

(1)为scrollview设置代理(self)

(2)让控制器遵守scrollview的代理协议

(3)调用代理方法,返回需要实现缩放功能的子控件

(4)设置缩放的范围(最大和最小比例)

代码示例:

iOS开发—UIScrollView控件实现图片缩放功能

跟缩放相关的其他代理方法

缩放完毕的时候调用 

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view

正在缩放的时候调用

- (void)scrollViewDidZoom:(UIScrollView *)scrollView