在阅读objc.io关于UICollectionView + UIKit Dynamics的第五期时,第二部分讨论了“为绩效铺平性能的行为(related source code)”,这一直困扰着我,但一直在调用prepareLayout方法,但-shouldInvalidateLayoutForBoundsChange:仍然返回NO,而在任何地方都没有invalidateLayout。它不应该只调用一次吗?

最佳答案

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

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

关于ios - UICollectionView的prepareLayout和invalidateLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19399154/

10-09 02:16