2013-02-25 109 views
8

我有一个图像的一维数组,我馈送给UICollectionView。 集合视图只是由数组中的元素组成的一个部分。 当我点击一个单元格,并且-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath;被触发,并且我从indexPath打印输出时,我得到的数据类似[0,0]中第0行元素0的值,但是那一行中的下一个元素是[0,5] 。如何从UICollectionView中的索引路径正确获取索引?

如何将indexPath映射到我的数组,就像UITableView的[indexPath行]直接匹配相应的索引那样?

+1

什么代码,您使用的是打印出来的indexPath(它是UITableView的)? – Darren 2013-02-25 14:04:32

+0

收集视图可能对齐错误,如果您正在点击该项目的权利,点击下面的一个,反之亦然... – jjv360 2013-02-25 14:11:37

+0

对于他们的部分中的每个项目,你可以乘以indexPath.section部分的数量和添加indexpath.row以获取1维数组的索引。 例如: 用于4X4网格, (0,0)是((4 * 0)0) (0,1)是((4 * 0)+1) (0,2)是( (4 * 0)+2) 。 。 。 ((4 * 3)+3) (4,4)是((4 * 3)+4) – 2016-02-04 12:09:01

回答

17

我从来没有使用过它们,但我的理解是UICollectionView的indexPath的两个属性是section和item,而不是UITableView中的节和行。

+0

我记录了indexPath.row和indexPath.row,只发现它们是完全一样...... – Calios 2015-12-11 10:39:30

+13

@Calios我想象一下,如果你两次登录同样的东西,你会得到相同的结果。 – Ruiz 2016-02-25 13:48:31

7

用于检索项指标,您需要使用indexPath.item(用于UICollectionView)不indexPath.row