UIScrollView 实现图像缩放

有些时候,我们可能要对某些内容进行手势缩放,如下图所示


UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理
也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中

通过 UIScrollView 实现内容缩放的思路 
1. 拖拽一个UIScrollView
2. 向 UIScrollView 中添加内容(这里的内容就是指要进行缩放的内容(控件))
3. 通过代理监听缩放事件, 在缩放事件中返回 UIScrollView 的某个子控件(这个子控件就是告诉 UIScrollView 对这个控件进行缩放)
4. 设置缩放比:最大能放大多少倍, 最小能缩小百分之多少

当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容)
// 用户使用捏合手势时调用
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

实现图片缩放的具体步骤
1. 添加UIScrollView, 设置UIScrollView的宽和高与控制器大小一致
2. 向UIScrollView中添加子控件UIImageView, 设置图片, 设置 UIImageView 的大小与图片的实际大小一致。
3. 设置UIScrollView的代理为当前控制器
4. 设置当前控制器遵守UIScrollViewDelegate代理协议
5. 在控制器中实现代理方法
- (UIView *)viewForZoomingInScrollView:方法返回要缩放的子控件
•6. 在viewDidLoad中设置缩放比例
–self.scrollView.maximumZoomScale = 2.0;
–self.scrollView.minimumZoomScale = 0.4;

** 注意: UIScrollView一次只能缩放一个控件, 到底要缩放哪个子控件, UIScrollView要问代理,由代理方法决定, 也就是由用户决定(问代理的:viewFormZoomingForScrollView这个方法, 该方法返回的控件就是scrollView要缩放的控件

即将开始缩放的时候调用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
正在缩放的时候调用
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
缩放完毕的时候调用
- (void)scrollViewDidEndZooming::(UIScrollView *)scrollView


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值