iOS - UICollectionView 瀑布流 添加表头视图的坑

UICollectionView 瀑布流 添加表头视图的坑

首先是,需求加了个头视图在顶部,在collectionView中的头视图跟TableView的不一样,TableView的表头只要设置tableview.tableHeaderView就可以了. collectionView 怎么添加这样的效果的呢

有两种思路

第一种:在collectionView的段头代理中设置 (只在第一段中设置)

第二种:改变 collectionView 的内延距离, 然后添加在内延空白的位置.

第一种

复制代码
复制代码

但是你会发现,使用瀑布流的时候,,Cell都是不同大小的布局,UICollectionViewFlowLayout是自定义的布局,collectionView的代理不会走,所以,这里就比较坑了。

怎么解决呢 就是在自定义的Layout中添加加一个 Header类型的 UICollectionViewLayoutAttributes就可以。然后我把瀑布流的Cell的起始位置从headerView的最大Y开始布局。这样设置之后,controllerView中的代理方法才会走,要记得注册头视图哦,不然会崩。

注册段头

复制代码
复制代码

自定义的布局 HMWaterflowLayout : UICollectionViewLayout

.h

复制代码
复制代码

.m

复制代码

欢迎下载使用 视频剪辑神器,苹果应用商店下载地址:视频剪辑神器

你可能感兴趣的:(iOS - UICollectionView 瀑布流 添加表头视图的坑)