1

在阅读 objc.io 关于UICollectionView + UIKit Dynamics的第 5 期时,第 2 部分谈到了“平铺动态行为以提高性能(相关源代码)”,让我感到困惑的是prepareLayout方法不断被调用,但-shouldInvalidateLayoutForBoundsChange:仍然返回NO,并且无处被调用invalidateLayout。它不应该只调用一次吗?

4

1 回答 1

1

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

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

于 2013-12-05T19:39:13.593 回答