美文网首页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