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