自定义UICollectionView布局-入门

自定义UICollectionView布局-入门

0.应用场景:

项目中经常会用到各种各样的cell,有时自定义cell已经无法满足产品的需求,我们可以选择复杂并且开发难度大的开发方式解决问题,当然也可以选择简单但是有技巧的解决方案,其中自定义UICollectionView布局就是一种很好的方式,这节就探讨如何使用自定义UICollectionView布局做出漂亮的界面。

1.继承方案

  • 1> 继承UICollectionViewLayout
  • 2> 继承UICollectionViewFlowLayout

2.可能需要重写的方法

  • 1> prepareLayout

    • 一般在这里设置一些初始化参数,执行初始化操作
    • 必须要调用[super prepareLayout];
  • 2> layoutAttributesForElementsInRect:

    • 返回的数组中装着UICollectionViewLayoutAttributes对象
    • 返回collectionView上面所有元素(比如cell)的布局属性:这个方法决定了cell怎么排布
    • 每个cell都有自己对应的布局属性:UICollectionViewLayoutAttributes
  • 3> shouldInvalidateLayoutForBoundsChange:

    • 当uicollectionView的bounds发生改变时,是否要刷新布局
    • 一旦重新刷新布局,就会重新按顺序调用1>、2>两个方法
  • 4> targetContentOffsetForProposedContentOffset:withScrollingVelocity:

    • 这个方法的返回值,决定了collectionView最终的偏移量(最终的停留位置)
    • proposedContentOffset参数:collectionView本应该的偏移量
    • velocity参数:collectionView的滚动速率
  • 5> layoutAttributesForItemAtIndexPath:

    • 如果继承了UICollectionViewLayout,最好实现这个方法
    • 作用是:返回indexPath位置cell的布局属性

PS:后续会上传代码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值