如何实现瀑布流,流水局

1.使用UIcollectionview

2.使用自定义的FlowLayout

3.需要在layoutAttributesForElemetsInRect中设置自定义的布局(item的frame)

4.在preparelayout中计算布局

5.遍历数据内容,根据索引取出相应的attributes(使用layoutAttributesForCellWithIndexPath),根据九宫格算法设置布局。

细节1:实时布局,重写shouldinvalidatelayoutforboundschange(bounds改变重新布局,scrollview的contentoffset>bounds)

细节2:计算设置item size (保证内容显示完整,UIcollectionview的contentsize是根据itemsize计算的),根据列最大高度/对应列数量求出最大高度累加得到

细节3:追加item到最短列,避免比不参差不齐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容