Trong Dự án của tôi, tôi sử dụng UICollectionView để hiển thị một lưới các biểu tượng.
Người dùng có thể thay đổi thứ tự bằng cách nhấp vào một điều khiển được phân đoạn gọi tìm nạp từ dữ liệu cốt lõi với NSSortDescriptor khác nhau.
Lượng dữ liệu luôn giống nhau, chỉ kết thúc ở các phần / hàng khác nhau:
- (IBAction)sortSegmentedControlChanged:(id)sender {
_fetchedResultsController = nil;
_fetchedResultsController = [self newFetchResultsControllerForSort];
NSError *error;
if (![self.fetchedResultsController performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
[self.collectionView reloadData];
}
Vấn đề là reloadData không làm động thay đổi, UICollectionView chỉ xuất hiện với dữ liệu mới.
Tôi có nên theo dõi ô indexPath nào trước và sau khi thay đổi và sử dụng [self.collectionView moveItemAtIndexPath: toIndexPath:] để thực hiện hoạt ảnh cho thay đổi hay có phương pháp nào tốt hơn không?
Tôi không tham gia nhiều vào collectionViews phân lớp nên mọi sự trợ giúp sẽ rất tuyệt ...
Cảm ơn, Bill.
reloadData
cuộc gọi đó trong một khối hoạt hình chưa?