美文网首页iOS那些事
瀑布流布局问题(通过算法和计算能力可以实现很多复杂的功能)

瀑布流布局问题(通过算法和计算能力可以实现很多复杂的功能)

作者: ROTK_lvzhenhua | 来源:发表于2016-09-11 16:22 被阅读17次

根据UICollectionView
首先UICollectionView是根据UICollectionViewLayout计算每个item的大小以及位置的(这里不多说基本用法)

接下来要处理的就是layoutAttributesForItemAtIndexPath方法中每个item该怎么布局了,思路很简单

  • 创建一个UICollectionViewLayoutAttributes对象

  • 根据collectionView的width及行间距等几个参数,计算出item的宽度

  • 找到最短列的列号

  • 根据列号计算item的x值、y值, 询问代理拿到item的高度

  • 设置UICollectionViewLayoutAttributes对象的frame属性

  • 返回UICollectionViewLayoutAttributes对象

继承自UICollectionVIewLayout的类需要实现四个方法

Layout.png

上述第二个方法会频繁的调用,但是需要保存。

相关文章

网友评论

  • Boycott:吕教授果然不鸣则已一鸣惊人

本文标题:瀑布流布局问题(通过算法和计算能力可以实现很多复杂的功能)

本文链接:https://www.haomeiwen.com/subject/gvxqettx.html