前言
以前都是看别人的博客没有自己整理,最近有时间自己想把学习到的东西整理下,方便自己以后观看,送给需要的小伙伴。
一.什么是UICollectionView
用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController,使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议。
二.瀑布流
瀑布流一般用在购物等类似的环境中,不容易让用户造成视觉疲劳
我们要实现类似瀑布流的效果需要继承UICollectionViewLayout,重写它的几个方法。
-(void)prepareLayout//初始化
-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect//确认cell
-(UICollectionViewLayoutAttributes)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath//返回对应的indexPath的cell
-(CGSize)collectionViewContentSize// 移动的范围
这里返回数组
找个方法是确定cell的位置大小等一系列操作的,我们找出最小的高度的cell 通过比较找出最小的对最小的高度的cell 进行操作。
GitHub下载
喜欢的话给个星星谢谢。