ios 根据scrollview滑动的偏移计算滑动到第几页算法(不同需求不同计算)
Posted 孙富有(iOS工程师)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 根据scrollview滑动的偏移计算滑动到第几页算法(不同需求不同计算)相关的知识,希望对你有一定的参考价值。
第一种:
CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
举个例子吧
一页的width为320
用方法1的结果
情况1:
contentoffset小于320+160,即在第二页的左半部分,(self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth的结果是0.xxxx,floor结果为0,计算结果为1,即会回到第一页
情况2:
contentoffset大于320+160,即在第二页的右半部分,(self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth的结果是1.xxxx,floor结果为1,page计算结果为2,即会进入第二页
第二种
self.scrollView.contentOffset.x/pageWidth
用方法2的结果
self.scrollView.contentOffset.x/pageWidth计算结果都为1.xxx
而page是int类型,系统根据四舍五入自动强制转型
以上是关于ios 根据scrollview滑动的偏移计算滑动到第几页算法(不同需求不同计算)的主要内容,如果未能解决你的问题,请参考以下文章