2013-02-25 41 views
8

Tôi có một mảng hình ảnh một chiều mà tôi đang cung cấp cho UICollectionView. Chế độ xem bộ sưu tập chỉ là một phần bao gồm các phần tử trong mảng. khi tôi nhấp vào một ô và -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath; bị tắt và tôi in ra khỏi chỉ mụcPath tôi nhận được các giá trị như [0,0] cho phần tử 0 ở hàng 0 nhưng sau đó phần tử tiếp theo trong hàng đó là [0,5] .Cách lấy chỉ mục đúng cách từ đường dẫn chỉ mục trong UICollectionView?

Làm cách nào để ánh xạ indexPath vào mảng của tôi như cách hàng [indexPath] của UITableView khớp trực tiếp với chỉ mục tương ứng?

+1

đang gì bạn đang sử dụng để in ra indexPath? – Darren

+0

Chế độ xem bộ sưu tập có thể được căn chỉnh sai, nếu bạn đang chạm vào mục ở bên phải, hãy nhấn vào mục bên dưới và ngược lại ... – jjv360

+0

Đối với mỗi mục trong phần của chúng, bạn có thể nhân số phần với indexPath.section và thêm indexpath.row để lấy chỉ mục cho mảng 1 chiều. ví dụ: cho lưới 4X4, (0,0) là ((4 * 0) +0) (0,1) là ((4 * 0) +1) (0,2) là ((4 * 0) +2) . . . (4,3) là ((4 * 3) +3) (4,4) là ((4 * 3) +4) –

Trả lời

17

Tôi chưa bao giờ sử dụng chúng, nhưng sự hiểu biết của tôi là hai thuộc tính của chỉ mục UICollectionView là phần và mục, không phải phần và hàng như trong UITableView.

+0

Tôi đã ghi cả indexPath.row và indexPath.row và chỉ tìm thấy chúng là chính xác như vậy ... – Calios

+13

@Calios Vâng tôi sẽ tưởng tượng nếu bạn đăng nhập cùng một điều hai lần, bạn sẽ nhận được kết quả tương tự. – Ruiz

7

Để Lấy chỉ số mục bạn cần phải sử dụng indexPath.item (ví UICollectionView) không indexPath.row (đó là cho UITableView)

Các vấn đề liên quan