2013-02-25 11 views
8

Mam jedno wymiarową tablicę obrazów że ja karmię do UICollectionView. Widok kolekcji to tylko jedna sekcja złożona z elementów w tablicy. kiedy kliknąć komórkę i -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath; zostanie wystrzelone i zrobić odbitki z indexPath otrzymuję wartości jak [0,0] dla elementu 0 w wierszu 0, ale potem już następnego elementu w tym wierszu jest [0,5] .Jak poprawnie uzyskać indeks ze ścieżki indeksu w UICollectionView?

Jak mogę zmapować obiekt indexPath na moją tablicę, tak jak wiersz [indexPath] z wiersza UITableView dopasowuje się bezpośrednio do odpowiedniego indeksu?

+1

Jaki kod używasz do wydrukowania indexPath? – Darren

+0

Widok kolekcja jest prawdopodobnie wyrównane tak, jakbyś stukając pozycję w prawo, dotknij poniżej i odwrotnie ... – jjv360

+0

dla każdego elementu w ich sekcji, można pomnożyć liczbę odcinków z indexPath.section i dodaj indexpath.row, aby uzyskać indeks dla tablicy jednowymiarowej. przykład: dla siatki 4X4, (0,0) to ((4 * 0) +0) (0,1) to ((4 * 0) +1) (0,2) to ((4 * 0) +2) . . . (4,3) wynosi ((4 * 3) +3) (4,4) wynosi ((4 * 3) +4) –

Odpowiedz

17

nigdy nie korzystali z nich, ale mój zrozumienia jest to, że dwie właściwości indexPath danej UICollectionView są sekcja i pozycja nie rozdział i wiersz jak w UITableView.

+0

że rejestrowane zarówno indexPath.row i indexPath.row i tylko znaleźć byli Dokładnie to samo ... – Calios

+13

@ Calios Cóż, wyobrażam sobie, że gdybyś zrobił to samo dwa razy, uzyskałbyś ten sam wynik. – Ruiz

7

Aby Odzyskaj indeks elementu trzeba użyć indexPath.item (dla UICollectionView), nie indexPath.row (to dla UITableView)

Powiązane problemy