1 2 3 4 5 6 | let scrollVIEw= UIScrollVIEw () scrollVIEw.frame= self .vIEw.bounds imageVIEw= UIImageVIEw (image: UIImage (named: "bigpic" )) scrollVIEw.contentSize=imageVIEw.bounds.size; scrollVIEw.addSubvIEw(imageVIEw); .vIEw.addSubvIEw(scrollVIEw) |
2,获取滚动视图移动的x,y坐标
通过scrollVIEw.contentOffset.x与scrollVIEw.contentOffset.y我们可以取到移动的偏移位置
import UIKit class VIEwController : UIVIEwController , uiscrollviewdelegate { var scrollVIEw: ! overrIDe func vIEwDIDLoad() { super .vIEwDIDLoad() () //设置代理 scrollVIEw.delegate = self .vIEw.bounds "ii" )) scrollVIEw.contentSize=imageVIEw.bounds.size; scrollVIEw.addSubvIEw(imageVIEw); .vIEw.addSubvIEw(scrollVIEw) } //视图滚动中一直触发 scrollVIEwDIDScroll(scrollVIEw: ) { print ( "x:\(scrollVIEw.contentOffset.x) y:\(scrollVIEw.contentOffset.y)" ) } dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() } } |
3,手势放大缩小
要实现放大缩小功能,需要指定UIScrollVIEw的允许缩放最大比例和最小比例(默认都是是1.0)。
同时delegate属性指定一个委托类,委托类要继承uiscrollviewdelegate协议,并在委托类中实现vIEwForZoomingInScrollVIEw方法。
(注:在模拟器中测试,需要按住option键再拖动内容)
scrollVIEw.minimumZoomScale=0.1 //最小比例 scrollVIEw.maximumZoomScale=3 //最大比例 scrollVIEw.delegate= self vIEwForZoomingInScrollVIEw(scrollVIEw: ) -> UIVIEw ? { for subvIEw : AnyObject in scrollVIEw.subvIEws { if subvIEw.isKindOfClass( ) { return subvIEw as ? UIVIEw } } return nil } |
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_543.html 总结
以上是内存溢出为你收集整理的Swift - 滚动视图(UIScrollView)的用法全部内容,希望文章能够帮你解决Swift - 滚动视图(UIScrollView)的用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)