美文网首页
简单自定义轮播器不动问题

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

作者: 名为信念的旗帜 | 来源:发表于2017-11-07 12:08 被阅读0次

无意间遇到的问题,轮播器轮播到第二个个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;

相关文章

网友评论

      本文标题:简单自定义轮播器不动问题

      本文链接:https://www.haomeiwen.com/subject/zdodmxtx.html