UICollectionView在moveItemAtIndexPath:toIndexPath之后停止加载单元格:

时间:2014-12-05 12:32:33

标签: ios objective-c uikit uicollectionview

我有UICollectionView UICollectionViewFlowLayout,其中包含许多项目。我想根据用户输入重新排序单元格。

[self.collectionView moveItemAtIndexPath:indexPath toIndexPath:newIndexPath];

执行此代码后,滚动时集合视图不会更新其内容。它没有显示下一个细胞。它甚至不会调用cellForItemAtIndexPath:,但它的内容大小是正确的(布局“更新”它的状态)。 因此,我们只能在重新排序之前看到分布在集合视图上的单元格。 有什么线索可能是什么问题?这个问题是否有任何已知的解决方法?该应用程序仅限iOS 8,集合视图与UICollectionViewFlowLayout一起使用。

编辑:当我致电[self.collectionView reloadData];时,数据源甚至都没有被要求提供任何东西。

1 个答案:

答案 0 :(得分:0)

问题在于UICollectionViewCell。高级描述是在移动动画期间从我的代码向单元格发送方法actionForKey。它导致单元格保持内部being animated状态。我无法找到合理的解决方法并重构一些位以避免actionForKey调用。现在一切都按预期工作了。