本篇是对UICollectionViewLayout详解的一个总结
补充:
当- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds返回YES的时候
- (UICollectionViewLayoutAttributes*)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
和 -
(UICollectionViewLayoutAttributes*)initialLayoutAttributesForAppearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
两个方法也会对每个item调用一次,就会出现下图看起来很乱的样子,因为当bounds改变时,上述2个方法执行了插入/删除的动画。
所以在上述2个方法中,应该针对item到底是真的在显示/消失,还是 UICollectionView 正在经历的边界改变动画的不同情况,做出不同反应,并返回不同的布局属性。
网友评论