【发布时间】:2012-11-21 16:47:40
【问题描述】:
有没有人看到这个问题的正确答案?
initialLayoutAttributesForAppearingItemAtIndexPath 似乎被所有可见单元格调用,而不仅仅是被插入的单元格。根据Apple's own docs:
对于移动的项目,集合视图使用标准方法来检索项目的更新布局属性。对于插入或删除的项目,集合视图会调用一些不同的方法,您应该重写这些方法以提供适当的布局信息
这听起来不像正在发生的事情......其他单元格没有被插入,它们正在被移动,但它也为那些被移动的单元格调用initialLayoutAttributesForAppearingItemAtIndexPath。
我已经看到使用prepareForCollectionViewUpdates: 来跟踪哪些 indexPaths 正在更新并且只更改那些的变通方法,但这似乎有点奇怪,因为它会再次出现在他们自己的文档中。有其他人找到解决此问题的更好方法吗?
【问题讨论】:
-
我也很难理解这一点。每次我对集合视图进行更改时,都会重新加载所有可见单元格,目前尚不清楚如何避免这种情况。当用户在一个部分中点击一个单元格时,我会重新加载另一部分,同时为点击的单元格中的更改设置动画。重新加载中断了我的动画,我找不到解决方法。
标签: ios6 uicollectionview