UICollectionView 横向布局

最近做一个UICollectionView 的横向布局,遇到一个奇怪的问题。

滑动的便宜量总有问题。

最近也在苦思此问题,刚刚也就解决了问题。

不能说顺利解决,还是有一些小BUG,最后可能还需要优化。

微信图片_20190328224243.jpg

一个横向布局的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(@"当用户完成滑动内容时");
}

这俩个方法配合使用即可解决 横向偏移异常的问题。

你可能感兴趣的:(UICollectionView 横向布局)