简单自定义轮播器不动问题

无意间遇到的问题,轮播器轮播到第二个个cell就不动了

    // 获取偏移量
    CGFloat offsetY = self.collectionView.contentOffset.y;
    // 获取高度
    CGFloat height = self.collectionView.bounds.size.height;
    // 计算当前页数
    NSInteger page = offsetY / height;
    // 修改偏移量
    [self.collectionView setContentOffset:CGPointMake(0, (page + 1) * height) animated:YES];

以上是源码
检查了一下发现原因是,因为offsetY和height是浮点型,浮点型不是精准类型,
所以有可能offsetY到第二个cell的时候大小比height小,导致了offsetY/height一直为0卡在第二个cell不动的问题
简单的解决方法就是把他们类型转换一下就ok拉

NSInteger page = (NSInteger)offsetY / (NSInteger)height;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,802评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 【文/半夏苼】 陪你渡过漫长岁月,陪你把独自孤单变成了勇敢,陪伴是最长情的告白! 01 2004年9月1日,我第一...
    言一晏阅读 1,301评论 64 41
  • 还是那个朋友,要将产品投放市场,要做哪些呢?我想了想,他的产品不属于特殊类别,需要前置审批的产品,所以应该工...
    shaw_chan阅读 433评论 2 1
  • 人 本来是简单的 却被我们活的越来越复杂 关心 本来是纯粹的 却被我们要的越来越自私 爱情和生活 本可以简单的相处...
    懒懒的阳光房阅读 608评论 2 2