UICollectionView的prepareLayout和invalidateLayout

时间:2013-10-16 09:02:12

标签: ios objective-c uicollectionview

UICollectionView + UIKit Dynamics上阅读objc.io的第5期问题时,第2部分讨论了“为性能调整动态行为(related source code)'”,这让人感到困惑我不断调用prepareLayout方法,但-shouldInvalidateLayoutForBoundsChange:仍会返回NO,无处调用invalidateLayout。不应该只召唤一次吗?

1 个答案:

答案 0 :(得分:1)

我在iOS6设备上测试iOS7 UICollectionViewFlowLayout时遇到了类似的问题。在iOS7设备上prepareLayout仅被调用一次,但在iOS6设备上,当layoutSubviews被其父UIScrollView触发时,会调用它。

要解决此问题,我将UICollectionViewFlowLayout类更改为UICollectionViewLayout。在这种情况下,UICollectionViewFlowLayout似乎存在布局问题。