Swift UIScrollView 属性及代理方法
来源:互联网 发布:java服务器开发与c 编辑:程序博客网 时间:2024/05/19 02:16
//创建滚动视图 let scrollView = UIScrollView() //设置尺寸 scrollView.frame = CGRectMake(0, 100, self.view.frame.size.width, 200) //设置背景色 scrollView.backgroundColor = UIColor.redColor() //添加视图 self.view.addSubview(scrollView) //设置滚动条 //是否显示水平滚动条 scrollView.showsHorizontalScrollIndicator = true //是否显示竖直滚动条 scrollView.showsVerticalScrollIndicator = false //设置分页滚动 scrollView.pagingEnabled = true //设置是否可以拉出空白区域 scrollView.bounces = true //默认是false。如果是true并且bounces也是true,即使内容尺寸比scrollView的尺寸小,也能垂直推动 scrollView.alwaysBounceVertical = false //默认是false。如果是true并且bounces也是true,即使内容尺寸比scrollView的尺寸小,也能水平推动 scrollView.alwaysBounceHorizontal = false //允许滑动视图本身,如果设为false就不能触发拖动代理事件 scrollView.scrollEnabled = false //在scrollView的内容周围添加一个附件的区域 scrollView.contentInset = UIEdgeInsetsMake(100, 50, 50, 50) //调整指示器(滚动条)的位置 scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(30, 30, 30, 30) //设置指示器(滚动条)的样式 scrollView.indicatorStyle = UIScrollViewIndicatorStyle.Black//黑色 //最小的缩放倍数,默认值为1.0 scrollView.minimumZoomScale = 0.2 //放大的缩放倍数,默认值为1.0 scrollView.maximumZoomScale = 100 //创建一个数组,存储三张图片 let imagesArray = ["DOVE 2","DOVE 5","DOVE 10"] //循环创建ImageView for i in 0..<imagesArray.count { //创建imageView let imageView = UIImageView(frame: CGRectMake(CGFloat (i)*scrollView.frame.size.width, 0, scrollView.frame.size.width, scrollView.frame.size.height)) //添加图片 imageView.image=UIImage(named: imagesArray[i]) //打开用户交互 imageView.userInteractionEnabled = true //把imageView添加到滚动视图上 scrollView.addSubview(imageView) } //设置内容区域 scrollView.contentSize = CGSizeMake(scrollView.frame.size.width*CGFloat(imagesArray.count),scrollView.frame.size.height) //设置代理 scrollView.delegate = self //设置directionalLockEnabled /* 如果这个性能被设置成false,scrollView会被允许在水平和垂直两个方向滚动。如果设置性能是true并且用户开始在一个方向拖动时(水平方向或垂直方向),滚动视图就不能在另一个方向滚动。如果拖动的方向时斜对角线方向,拖动事件将会被锁住并且用户可以在任何方向拖动,直到拖动事件结束。这个属性的默认值是false。 */ scrollView.directionalLockEnabled = true //设置偏移量,以固定的速度设置成新的偏移量 scrollView.setContentOffset(CGPointMake(10, 20), animated: false) //滚动矩形区域到可见的区域,如果完全可见就不做任何操作 scrollView.scrollRectToVisible(CGRectMake(0, 0, 100, 300), animated: false) //短时间显示滚动条,当你 scrollView.flashScrollIndicators() //当用户触摸到scrollView时(即使还没有开始拖动ScrollView)就会返回一个true值 scrollView.tracking //当用户已经开始拖动时会返回一个true值,这可能会需要一点时间或者与拖动一段距离 scrollView.dragging //当用户不再拖动或者不再触摸scrollView(但是scrollView仍在滑动) scrollView.decelerating //默认值为true scrollView.delaysContentTouches = true //默认值为true。如果为false,一旦我们开始追踪并且触摸移动,我们无法拖动 scrollView.canCancelContentTouches = true //如果手势已经被传递到了scollView的父View上,在视图开始滚动之前毁掉用这个方法。如果这个方法返回的是false,scrollView不会滚动并且这个手势会继续向父View传递// scrollView.touchesShouldCancelInContentView(<#T##view: UIView##UIView#>) //设置缩放// scrollView.setZoomScale(<#T##scale: CGFloat##CGFloat#>, animated: <#T##Bool#>)// scrollView.zoomToRect(<#T##rect: CGRect##CGRect#>, animated: <#T##Bool#>) //默认为true。如果设置,当手势起作用时用户会经过最小/最大的区域,并且,在手势结束时这个区域会自动设置为最小/最大值。 scrollView.bouncesZoom = true // 当用户向上的手势时,会返回true scrollView.zooming NSLog("scrollView.zooming>>>>>%zd",scrollView.zooming) //当我们在最小和最大值中间的一个区域中,会返回true。 scrollView.zoomBouncing //滚动到顶部,默认值为true scrollView.scrollsToTop = true //使用这些容器配置scrollView内置的手势识别 scrollView.panGestureRecognizer scrollView.pinchGestureRecognizer //创建UIPageControl let pageControl = UIPageControl(frame: CGRectMake(0, scrollView.frame.size.height-30,200, 30)) //总的图片页数 pageControl.numberOfPages = 6 //当前页 pageControl.currentPage = 0 //用户点击UIPageControl的响应函数 pageControl.addTarget(self, action: #selector(pageTurn(_:)), forControlEvents: UIControlEvents.ValueChanged) //设置pageControl 的尺寸 let size = pageControl.sizeForNumberOfPages(6)//点点的点击事件 func pageTurn(pageControl:UIPageControl) { } //UIscrollView的协议代理方法 //滑动过程中 func scrollViewDidScroll(scrollView: UIScrollView) { } //开始拖动 func scrollViewWillBeginDragging(scrollView: UIScrollView) { } //开始拖动(以某种速率和偏移量) func scrollViewDidEndDecelerating(scrollView: UIScrollView) { } //停止拖动 func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) { } //开始滑动 func scrollViewWillBeginDecelerating(scrollView: UIScrollView) { } //允许缩放的视图(一个scrollview中只能有一个可以缩放且必须设置可以缩放的范围)// func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {// // //返回被缩放的试图// //return imageView;// } //开始缩放的时候调用 func scrollViewWillBeginZooming(scrollView: UIScrollView, withView view: UIView?) { } //正在缩放的时候调用 func scrollViewDidZoom(scrollView: UIScrollView) { } //缩放完毕的时候调用 func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView?, atScale scale: CGFloat) { } //将要滚动到顶部的时候调用 func scrollViewShouldScrollToTop(scrollView: UIScrollView) -> Bool { return true } //滚动到顶部的时候调用 func scrollViewDidScrollToTop(scrollView: UIScrollView) { }
阅读全文
1 0
- Swift UIScrollView 属性及代理方法
- UIScrollView属性及代理方法总结
- UIScrollView 基本属性 及 常用代理方法
- UIScrollView常用属性和代理方法
- UIScrollView常用属性/常用代理方法总结
- UIScrollView原理、属性、代理方法及有关功能实现(用纯代码方式)
- ios UIScrollView代理方法追踪 及使用
- UIScrollView常用属性及回调方法
- UIScrollView滚动视图属性及方法介绍
- UIScrollView 代理方法
- UIScrollView的代理方法
- UIScrollView代理方法
- UIScrollView代理方法之一
- UIScrollView常用属性以及代理
- UIScrollView 基础属性方法
- UIScrollView 属性和方法
- UIScrollView 属性 方法
- UIScrollView && UITableView相关属性汇总及常用方法
- populating-next-right-pointers-in-each-node-ii
- VIM基本命令
- 第9届北信校赛
- [生产力工具]Mysql入门
- 计算圆的面积
- Swift UIScrollView 属性及代理方法
- [LeetCode] 4. Median of Two Sorted Arrays
- 写给人类的机器学习 一、为什么机器学习重要
- graph
- SpringBoot29-springboot企业级开发-批处理Spring Batch
- fork函数
- 岛屿周长
- openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
- 整数反转