【无限互联】瀑布流CHTCollectionViewWaterfallLayout

来源:互联网 发布:微博有mac版 编辑:程序博客网 时间:2024/05/20 03:47


     CHTCollectionViewWaterfallLayout通过继承UICollectionViewLayout来布局collectionView,达到视觉表现为参差不齐的多栏布局效果,既可以显示图片,也可以显示文字。使用MRC计数,支持横屏和竖屏显示。


1.首先得到collectionView中列的个数,它的值可以通过外部设置,默认是2,然后根据列的个数得到单元格的宽度。



2.计算出所有要添加到collectionView上的视图的frame,并通过循环遍历,将其添加到数组中。


(1)页眉


(2)单元格




(3)页脚





3 实现需要重载的方法,每个layout对象都需要实现下面的方法:

 collectionViewContentSize

 shouldInvalidateLayoutForBoundsChange:

 layoutAttributesForElementsInRect:

 layoutAttributesForItemAtIndexPath:

 layoutAttributesForSupplementaryViewOfKind:atIndexPath: (如果layout支持 supplementary views)

 layoutAttributesForDecorationViewWithReuseIdentifier:atIndexPath: (如果layout支持 decoration views)





4 实现私有方法,得到不同模式下一行中列所在的开始的位置













0 0