我遇到UICollectionView问题。下面的代码是返回获得的细胞在一个点(CGPoint)UICollectionView cellForItemAtIndexPath在滚动后返回nil
CollectionViewCell* cell = (CollectionViewCell*) [mCollectionView cellForItemAtIndexPath: [mCollectionView indexPathForItemAtPoint:point]];
if (cell)
NSLog(@"Cell exists");
else
NSLog(@"Cell doesn't exist");
如果UICollectionView是左还是这将返回一个有效的单元格。如果向下滚动,则返回nil。我不确定是什么问题。 UICollectionView滚动工作正常。 collectionview单元没有问题。
请问有人能帮我一下吗?
请参阅['cellForItemAtIndexPath:']的文档(https://developer.apple.com/library/ios/)文档/ UIKit的/参照/ UICollectionView_class /参考/#的reference.html // apple_ ref/occ/instm/UICollectionView/cellForItemAtIndexPath :):“对应索引路径的单元格对象,或者如果单元格不可见或indexPath超出范围,则为nil。 –
我想在我的视图中获取可见单元格。它返回有效的索引路径。例如,我的视图允许在iPad上以纵向模式显示5行中的15个集合视图单元格。一些滚动后,如果我尝试获取中间单元格的索引路径,它将返回7,这是有效的。但[mCollectionView cellForItemAtIndexPath:indexPath]返回nil。 – user862972
检查你所看到的'indexPath'是否是你期望的。在滚动之前和之后进行测试。我的猜测是,你给它一个相对于错误观点的CGPoint。您可能需要将该点转换为相对于不同视图。 – Gavin