UIScrollView分页的实现是这样子的
来源:互联网 发布:美国为何针对中国 知乎 编辑:程序博客网 时间:2024/05/16 05:29
UIScrollView的经典例子就是safari的编辑模式了
UIScrollView可以垂直,水平滚动。
如果属性pageEnabled = YES,则设置其为分页模式,那么没滚动一次就是一页,垂直方向上的一页就是UIScrollView的高度,水平方向就是其宽度。
我们可以设置contentSize,这就是UIScrollView可以滚动的最大区域了。
UIScrollView没有datasource的概念,因为这就是一个view,具体view中的内容摆放完全随意,只是每次都会滚动固定的页面大小。
比如我们有5个页面,我们需要自己计算每个页面的位置,将其水平放在UIScrollView上。
contentSize则设置为5*每个页面的宽度,每个页面的高度。
如果contentSize的高度或这宽度正好与UIScrollView的高度或宽度相等,则在该方向上不能滚动。
具体例子可以查看官方文档的例子,PageControl。
注意:UIScrollView不会带有分页的指示符号,需要利用UIPageControl控制。
但是要想做到safari的效果,我们需要一个小技巧,因为在safari中,当前页时可以看到前后两页的部分内容。
注意:分页的宽度不能修改,所以我们只能缩小UIScrollView的宽度,让其不要占满整个屏幕,同时设置clipsToBouds属性为NO,这样超出范围的视图也会显示,这样就能看到前后两页的内容,当然需要设置前后两页的alpha值为0.5,做出一个透明效果。
在UIScrollView的滚动事件中,判断位置,当一个页面出现的区域超过1半时,设置alpha为1,小于1半时设置alpha为0.5
现在还有一个问题:UIScrollView的滑动事件响应区域变小了,因为UIScrollView本身变小了,其余我们看到的页面在区域之外,因此我们需要重写UIScrollView所在的parentView的hittest事件,在其他区域的事件返回值为UIScrollView对象,这样用户感觉整个屏幕都是UIScrollView在响应了。
- UIScrollView分页的实现是这样子的
- UIScrollView分页的实现
- UIScrollView分页的实现
- UIScrollView分页的实现
- 实现UIScrollView的分页
- UIScrollView的分页效果的实现
- UIScrollView实现自定义分页的大小
- [iOS]UIScrollview自定义分页的实现方法
- 傻嘎,IOC原来是这样子的
- 傻嘎,IOC原来是这样子的
- 你以为是这样的,但是偏偏不是这样子
- UIScrollView分页的理解
- 360的安全浏览器原来是这样子的
- 趣图:我司的开发进程是这样子的
- 趣图:摧毁股市的程序居然是这样子的!
- 摧毁股市的程序居然是这样子的!
- UIScrollView实现不全屏分页的小技巧
- UIScrollView分页滑动宽度小于320的实现
- 每天一句励志话2:孰能生巧,一遍不会,二遍、、、
- Linux内核大讲堂之设备驱动的基石驱动模型(7)
- 数组里a和&a的区别
- java 读取文件【转载】
- 笔记本亮度无法调节的可能原因
- UIScrollView分页的实现是这样子的
- php中的static
- FTP上传
- Cumulus RTMFP实现P2P视频流如何调用BitMapData.draw()进行截图?
- Select函数文件描述符集的准备条件
- PHP内核中重要的两个全局变量
- hive查看表创建过程
- 实验三
- 浅谈#ifdef在软件开发中的妙用