1

我有一个显示基于 1000 多个数据源的单元格的集合视图。在任何给定时间,collectionview 显示 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:如果我的假设是正确的,我能做些什么来解决它??:)

谢谢

4

2 回答 2

2

您滚动到的部分在集合视图中不存在。如果您打算滚动到第一部分,请记住它们是从 0 开始索引的。

于 2013-07-16T14:21:57.717 回答
0

如果您使用任何部分但您没有定义部分删除部分代码。

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

我刚刚删除section,它的工作原理!

于 2019-07-16T21:30:53.947 回答