美文网首页
iOS 自定义布局 - 继承UICollectionViewFl

iOS 自定义布局 - 继承UICollectionViewFl

作者: 小的小碰撞 | 来源:发表于2017-09-11 10:49 被阅读0次
    • 目的
    18042C9038A85DC9D1247856BF035137.jpg C1077B55AF91D6EFA6D6B4A5F53023C7.png
    • UICollectionViewLayoutAttributes


      B907E982F57A3D741C297403ACCDF6F8.jpg

    重写layoutAttributesForElementsInRect:方法

    • 作用:
      • 这个方法的返回值是个数组
      • 这个数组中存放的都是UICollectionViewLayoutAttributes对象
      • UICollectionViewLayoutAttributes对象决定了cell的排布方式(frame等)
    12673EEA68482261DA13652FB993C115.jpg
    • 绝对值
    F6DB6AC15B5AE0A7ADE33371069CD4A8.jpg

    重写shouldInvalidateLayoutForBoundsChange:方法

    • 作用:如果返回YES,那么collectionView显示的范围发生改变时,就会重新刷新布局
    • 一旦重新刷新布局,就会按顺序调用下面的方法:
      • prepareLayout
      • layoutAttributesForElementsInRect:
    00869894DA64A891E801D0DB16A2F79F.jpg
    • 示意图
    22CAADA698D4ADBCEFF05F5ADE70D0EB.jpg
    • 理解
    C3D49899B52E2381B822DBA7B0E033B1.jpg

    重写targetContentOffsetForProposedContentOffset:withScrollingVelocity:方法

    • 作用:返回值决定了collectionView停止滚动时最终的偏移量(contentOffset)
    • 参数:
      • proposedContentOffset:原本情况下,collectionView停止滚动时最终的偏移量
      • velocity:滚动速率,通过这个参数可以了解滚动的方向


        D06BFC37B363737EF6C5E76D2E9D621C.jpg
    F54531CD89F18770DC5E3825C608A1C2.jpg 6F7848E3668D3B83C6CB28FB67E85EF9.jpg

    重写prepareLayout方法

    • 作用:在这个方法中做一些初始化操作
    • 注意:一定要调用[super prepareLayout]
    BD4C9DFBD590BECFF395E0916D3879A4.jpg A0C3FEF7B2AAEE7637A1C33F2AAF52D4.jpg
    • 枚举类型定义成常量


      D78082CEB322FD5CE369C9B533C356DE.jpg

    相关文章

      网友评论

          本文标题:iOS 自定义布局 - 继承UICollectionViewFl

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