Tôi đang cố gắng ghi nhớ chỉ mục cho một mục (indexPath.item) trong UICollectionView và sau đó, sau khi xem được thay thế và sau đó được khôi phục, để cuộn đến mục đã ghi nhớ đó.UICollectionView Cuộn đến một mục
Khi ghi nhớ mục, indexPath, và indexPath.item là:
indexPath is: <NSIndexPath 0x1d87b380> 2 indexes [0, 32]
indexPath.item is: 32
Khi tính toán lại các indexPath sau cho mục đó, indexPath, và indexPath.item là:
indexPath is: <NSIndexPath 0x1d8877b0> 2 indexes [0, 32]
item is: 32
tôi cố gắng để cuộn đến vị trí đã ghi nhớ bằng cách sử dụng:
NSIndexPath *iPath = [NSIndexPath indexPathForItem:i inSection:0];
[self collectionView scrollToItemAtIndexPath:iPath atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO];
Tôi nhận được lỗi:
attempt to scroll to invalid index path
Nó có in đường dẫn chỉ mục mà bạn đang cố truy cập vào thông báo lỗi không? Nếu nó có, và nó là, hãy nói, '[phần, hàng]'. Hãy thử 'NSLog'' [self.collectionView numberOfItemsInSection: section]; 'và cho chúng tôi biết – micantox
Cảm ơn bạn micantox. In ấn numberofItemsInSection tiết lộ rằng chế độ xem được sử dụng để cuộn đã cũ. Khi tôi sử dụng scrollToItemAtIndexPath sau khi làm mới chế độ xem, nó đã hoạt động! – kzia
bạn quên đặt dấu chấm? tức là "[self.collectionView scroll ..." không phải "[self collectionView scroll ..." (xin lưu ý một dấu chấm giữa self và collectionView)? Dường như thông báo lỗi nêu chính xác vấn đề này – igrek