UICollectionView,滚动到不在屏幕上的单元格

时间:2013-07-16 13:51:14

标签: ios uicollectionview

我有一个集合视图,显示基于1000多个数据源的单元格。 任何给定时间的收集视图显示6个细胞。现在基于一些用户操作,我需要将collectionview滚动到另一个NSIndexPath但是当我尝试这样做时

  [self.collectionView scrollToItemAtIndexPath:newIndexPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically
                                   animated:NO];

我收到此错误:

   Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
   'attempt to scroll to invalid index path: <NSIndexPath 0x11b42e70> 2 indexes [1, 163]'

我认为发生此错误是因为索引路径不在屏幕上,或者尚未加载。

两个问题:

1:我的假设是否正确?或者这个错误是别的吗? 2:如果我的假设是正确的,我该怎么做才能解决它?:)

由于

2 个答案:

答案 0 :(得分:2)

您要滚动到的部分在集合视图中不存在。如果您打算滚动到第一部分,请记住它们的编号为0。

答案 1 :(得分:0)

如果您使用任何节但未定义节,则删除节代码。

我使用了var selectedIndexPath = IndexPath(index: 0, section: 0)

我刚刚删除了section,它可以正常工作!