在UICollectionView + UIKit Dynamics上阅读objc.io的第5期问题时,第2部分讨论了“为性能调整动态行为(related source code)'”,这让人感到困惑我不断调用prepareLayout
方法,但-shouldInvalidateLayoutForBoundsChange:
仍会返回NO
,无处调用invalidateLayout
。不应该只召唤一次吗?
答案 0 :(得分:1)
我在iOS6设备上测试iOS7 UICollectionViewFlowLayout时遇到了类似的问题。在iOS7设备上prepareLayout
仅被调用一次,但在iOS6设备上,当layoutSubviews被其父UIScrollView触发时,会调用它。
要解决此问题,我将UICollectionViewFlowLayout类更改为UICollectionViewLayout。在这种情况下,UICollectionViewFlowLayout似乎存在布局问题。