首页 > 移动平台 > 详细

ios 根据scrollview滑动的偏移计算滑动到第几页算法(不同需求不同计算)

时间:2017-11-02 00:28:47      阅读:395      评论:0      收藏:0      [点我收藏+]

 

第一种:

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滑动的偏移计算滑动到第几页算法(不同需求不同计算)

原文:http://www.cnblogs.com/sunfuyou/p/7769140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!