iOS-UICollectionView-瀑布流

前言

以前都是看别人的博客没有自己整理,最近有时间自己想把学习到的东西整理下,方便自己以后观看,送给需要的小伙伴。

一.什么是UICollectionView

用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController,使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。

二.瀑布流

瀑布流一般用在购物等类似的环境中,不容易让用户造成视觉疲劳
我们要实现类似瀑布流的效果需要继承UICollectionViewLayout,重写它的几个方法。
-(void)prepareLayout//初始化
-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect//确认cell
-(UICollectionViewLayoutAttributes)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath//返回对应的indexPath的cell
-(CGSize)collectionViewContentSize// 移动的范围

iOS-UICollectionView-瀑布流_第1张图片
第一个方法

这里返回数组


iOS-UICollectionView-瀑布流_第2张图片
第二个方法

找个方法是确定cell的位置大小等一系列操作的,我们找出最小的高度的cell 通过比较找出最小的对最小的高度的cell 进行操作。


iOS-UICollectionView-瀑布流_第3张图片
第三个方法
iOS-UICollectionView-瀑布流_第4张图片
确定滑动的高度
gif.gif

GitHub下载
喜欢的话给个星星谢谢。

你可能感兴趣的:(iOS-UICollectionView-瀑布流)