自定义UICollectionViewLayout图解

本篇是对UICollectionViewLayout详解的一个总结

自定义UICollectionViewLayout图解_第1张图片
自定义UICollectionViewLayout图解_第2张图片

补充:
当- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds返回YES的时候

  • (UICollectionViewLayoutAttributes*)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
  • (UICollectionViewLayoutAttributes*)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
    两个方法也会对每个item调用一次,就会出现下图看起来很乱的样子,因为当bounds改变时,上述2个方法执行了插入/删除的动画。


    自定义UICollectionViewLayout图解_第3张图片

    所以在上述2个方法中,应该针对item到底是真的在显示/消失,还是 UICollectionView 正在经历的边界改变动画的不同情况,做出不同反应,并返回不同的布局属性。

你可能感兴趣的:(自定义UICollectionViewLayout图解)