UICollectionView中的ios NSIndexPath insertItemsAtIndexPaths

时间:2014-03-25 21:14:28

标签: ios insert uicollectionview nsindexpath

我使用insertItemsAtIndexPaths,但我试图理解这个函数如何影响索引路径的排序。

我有1个部分和多个项目(或行)。我正在使用UICollectionView。

当我插入新项目时,我将insertItemsAtIndexPaths与[NSIndexPath indexPathForItem:0 inSection:0]一起使用。我的问题是,当我在indexPathForItem 0处插入时,此集合视图中已有的索引路径是否会发生变化?换句话说,假设我循环indexPathForItem:0。这实际上会在UICollectionView的开头推送项目吗?

1 个答案:

答案 0 :(得分:1)

根据documentation,您首先更新数据源,然后调用insert方法。因此,如果您的数据源是一个包含3个元素的数组(例如A,B,C),并且您在位置0添加了一个新元素D,那么您现在拥有@ [D,A,B,C]。然后,您将调用[self.collectionView insertItemsAtIndexPaths:@ [[NSInexPath indexPathForItem:0 inSection:0]]];。

如果布局表明这会影响屏幕上的任何项目,则cellForItemAtIndexPath方法将被称为受影响的行,数据源将返回显示在其中的内容。