2013-02-25 108 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