[1] Collection View 自定义布局

问题描述:

Collection View 的cell 根据内容调整高度(或宽度),实现瀑布流布局。

解决方案:

原生的 FlowLayout 显然不行,只有继承自 UICollectionViewLayout,使用自定义布局。步骤如下:

  1. 实现 prepare() 方法。主要计算每一个cell 的 layout attribute 和 collection view 的 content size。如果内容较少,可以缓存计算出的 layout attribute,方便复用。
  2. 实现 collectionViewContentSize 方法。提供由上一步计算出的content size。
  3. 实现 layoutAttributesForElements(in:) 方法。提供与显示区域相交的 layout attribute。
  4. 实现 layoutAttributesForItem(at:) 方法。提供与 indexPath 对应的 layout attribute。

参考资料:

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

推荐阅读更多精彩内容