最近做一个UICollectionView 的横向布局,遇到一个奇怪的问题。
滑动的便宜量总有问题。
最近也在苦思此问题,刚刚也就解决了问题。
不能说顺利解决,还是有一些小BUG,最后可能还需要优化。
一个横向布局的UICollectionView,的简单布局。
有两页,个数不确定,有可能是1-8个,可以滑动两页。
遇到一个bug就是,当个数少于8个的时候,一直不能偏移一页。初步实现:采取UIScrollView的代理判断偏移量大于UICollectView的1/2.0 宽度的时候进行偏移到下一页。
采取代理方法:
-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView{
#这一块新增代码逻辑判断,判断是否便宜了超过半屏幕。
}
上述会有要给上述bug,下面的UIPageController的计算就有问题。
所以还需要补充一个代理方法来解决
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{
// 通过判断目标偏移量,采取contenSize 和 pageWidth 和 总个数 来计算最后的便宜量。
NSLog(@"当用户完成滑动内容时");
}
这俩个方法配合使用即可解决 横向偏移异常的问题。