Swift UIScrollView简单介绍
发布时间:2020-12-14 01:48:44 所属栏目:百科 来源:网络整理
导读:UIScrollView 是用来展示内容超过一个屏幕,需要滑动去看的时候的一个常用控件 首先,我们看如何用Swift创建一个UIScrollView //创建UIScrollView let scrollV=UIScrollView(frame: CGRectMake(10,50,300,300)) scrollV.backgroundColor=UIColor.whiteColor(
UIScrollView 是用来展示内容超过一个屏幕,需要滑动去看的时候的一个常用控件 首先,我们看如何用Swift创建一个UIScrollView //创建UIScrollView let scrollV=UIScrollView(frame: CGRectMake(10,50,300,300)) scrollV.backgroundColor=UIColor.whiteColor() self.view.addSubview(scrollV) 给ScrollView上添加一个图片看效果 //找一张大图片放到scrollV上 let img=UIImage(named: "test.jpg") let imageV=UIImageView(image: img) scrollV.addSubview(imageV) 此时我们发现图片只现实了左上角,而且不能滑动 添加设置 scrollV.contentSize=img!.size 将 scrollV的contentSize 设置为展示内容的大小(此处就是img的大小) 接下来是不是可以滑动 但是,我们发现有个滑动条出现,默认的还不太好看我们试着试着一下 设置滑动条 我们可以 修改滑动条的样式 scrollV.indicatorStyle=UIScrollViewIndicatorStyle.White 样式是一个枚举 大家可以尝试一下其他类型 还可以直接讲滑动条取消 scrollV.showsHorizontalScrollIndicator=false scrollV.showsVerticalScrollIndicator=false 还有我们发现在滑动到边界的时候发现图片还可以继续滑动,然后反弹回来 其实这个也可以设置 设置反弹效果 scrollV.bounces=false 这样滑动到边界之后就不能再滑动了
图片默认现实的是左上角,我们还可以设置默认图片现实的位置 设置偏移量 scrollV.contentOffset=CGPointMake(100,100) 这样图片就可以从左边100 上边100 开始显示
接下来我们看几个UiScrollView常用的代理方法 首先,添加协议
设置代理 scrollV.delegate=self 首先,我们看第一个代理方法 func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?scrollView双手滑动缩放的时候调用词方法 我们一首先图片缩放来看下他的用法 当我们双手滑动缩小的时候 我们希望图片缩小,当双手滑动张开的时候 我们希望图片放大 图片最小能缩小到原始的一半 最大能放到到原图的两倍 scrollV.minimumZoomScale=0.5 scrollV.maximumZoomScale=2.0 然后实现代理方法 func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { return scrollView.subviews[0] as? UIView }由于 我们scrollView 上只有一个图片所以 subviews取0就是刚才的图片 好了试下效果吧
还有三个代理方法 func scrollViewDidScroll(scrollView: UIScrollView)滑动scrollView过程中只要图片在动就一直执行 func scrollViewDidEndDragging(scrollView: UIScrollView,willDecelerate decelerate: Bool) 手指拖拽完成离开图片执行此方法
func scrollViewDidEndDecelerating(scrollView: UIScrollView)图片停止移动还有执行此方法(如果是快速滑动的话手指一开之后图片还会继续滑动一点距离,注意他和手指离开两个代理方法的区别)
func scrollViewDidScroll(scrollView: UIScrollView) { println("滑动中") } func scrollViewDidEndDragging(scrollView: UIScrollView,willDecelerate decelerate: Bool) { println("停止拖拽") } func scrollViewDidEndDecelerating(scrollView: UIScrollView) { println("停止滑动") } 好了。基本功能就到这里 苹果开发群 :414319235 欢迎加入 欢迎讨论问题 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |