Nel mio progetto utilizzo UICollectionView per visualizzare una griglia di icone.UICollectionView modifica animata dei dati
L'utente è in grado di modificare l'ordine facendo clic su un controllo segmentato che chiama un recupero dai dati principali con diverso NSSortDescriptor.
La quantità di dati è sempre lo stesso, finendo in diverse sezioni/righe:
- (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];
}
Il problema è che reloadData non anima la modifica, UICollectionView si apre appena con i nuovi dati .
Devo tenere traccia di quale indexPath è stata una cella prima e dopo la modifica e utilizzare [self.collectionView moveItemAtIndexPath: toIndexPath:] per eseguire l'animazione per la modifica oppure esiste un metodo migliore?
non ho avuto molto in collectionViews sottoclasse modo che qualsiasi aiuto sarà grande ...
Grazie, Bill.
Hai provato avvolgere quella chiamata 'reloadData' in un blocco di animazione? – simon