博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIScrollView 实现图像缩放
阅读量:4200 次
发布时间:2019-05-26

本文共 1205 字,大约阅读时间需要 4 分钟。

有些时候,我们可能要对某些内容进行手势缩放,如下图所示
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
你可能感兴趣的文章
网站加载代码
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
yii2 用命令行操作web下的controller
查看>>
yii2 console的使用
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb fulltextsearch 关于语言的设置选项
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
yourls 短连接 安装
查看>>
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
查看>>
softlayer 端口开放
查看>>
操作1:mongodb安装
查看>>
操作2:mongodb使用语法
查看>>
如何给分类增加一个属性(后台)
查看>>