zoukankan      html  css  js  c++  java
  • 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类型,系统根据四舍五入自动强制转型
     
  • 相关阅读:
    day44
    day38
    day37
    day36
    作业35
    day35
    作业34
    day34
    day33
    Windows API 第三篇
  • 原文地址:https://www.cnblogs.com/sunfuyou/p/7769140.html
Copyright © 2011-2022 走看看