我有一个包含许多项目的UICollectionView
,使用UICollectionViewFlowLayout
。我想通过用户输入重新排序单元格。
[self.collectionView moveItemAtIndexPath:indexPath toIndexPath:newIndexPath];
执行此代码后,集合视图在滚动时不会更新其内容。它不显示下一个单元格。它甚至不调用
cellForItemAtIndexPath:
,但其内容大小是正确的(布局“更新”了其状态)。
因此,我们只能看到重新排序之前在集合视图上分配的单元格。
有什么线索可能是问题?是否有任何已知的解决此问题的方法?该应用程序仅适用于iOS 8,并且使用UICollectionViewFlowLayout与集合视图一起使用。编辑:当我调用
[self.collectionView reloadData];
时,数据源甚至没有被要求提供任何内容。
actionForKey
,并且导致单元格“认为”它正在被动画化。您可以在此处找到有关 actionForKey 的更多信息:https://www.objc.io/issues/12-animations/animating-custom-layer-properties/ - wczekalski