如何在UICollectionView中正确获取索引路径的索引?

10
我有一个由图像组成的一维数组,我正在将其提供给UICollectionView。集合视图只是由数组中的元素组成的一个部分。当我单击单元格并触发-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath;时,我打印出indexPath的值,例如元素0在第0行的值为[0,0],但是该行中的下一个元素是[0,5]。如何将indexPath映射到我的数组,就像UITableView的[indexPath row]直接匹配相应的索引一样?

1
你使用什么代码来打印indexPath? - Darren
如果你点击右边的项目,而实际上它应该在下面,那么集合视图可能对齐错误,反之亦然... - jjv360
对于它们各自的部分中的每个项目,您可以将indexPath.section与indexpath.row相加并乘以节的数量,以获取一维数组的索引。例如: 对于4X4网格, (0,0)是((40)+0) (0,1)是((40)+1) (0,2)是((40)+2) . . . (4,3)是((43)+3) (4,4)是((4*3)+4) - Nakul Sudhakar
2个回答

21

我从未使用过它们,但我的理解是UICollectionView的indexPath有两个属性,即section和item,而不是像UITableView一样是section和row。


我记录了 indexPath.row 和 indexPath.row ,结果发现它们完全相同... - Calios
25
我猜如果你记录了同样的东西两次,你会得到相同的结果。 - Ruiz

10
要检索项目索引,您需要使用indexPath.item(用于UICollectionView),而不是indexPath.row(它适用于UITableView)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接