У своєму проекті я використовую UICollectionView для відображення сітки піктограм.
Користувач може змінити порядок, натиснувши сегментований елемент керування, який викликає вибірку з основних даних за допомогою іншого NSSortDescriptor.
Обсяг даних завжди однаковий, лише потрапляючи в різні розділи / рядки:
- (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];
}
Проблема в тому, що reloadData не оживляє зміни, UICollectionView просто з'являється з новими даними.
Чи слід мені відстежувати, в якому комірці indexPath була до та після зміни, та використовувати [self.collectionView moveItemAtIndexPath: toIndexPath:] для виконання анімації для зміни, чи є кращий метод?
Я не надто захоплювався підкласом collectionViews, тому будь-яка допомога буде чудовою ...
Дякую, Білл.
reloadData
дзвінок у блок анімації?