我有一个集合视图,显示基于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:如果我的假设是正确的,我该怎么做才能解决它?:)
由于
答案 0 :(得分:2)
您要滚动到的部分在集合视图中不存在。如果您打算滚动到第一部分,请记住它们的编号为0。
答案 1 :(得分:0)
如果您使用任何节但未定义节,则删除节代码。
我使用了var selectedIndexPath = IndexPath(index: 0, section: 0)
我刚刚删除了section
,它可以正常工作!