In meinem Projekt verwende ich UICollectionView, um ein Raster von Symbolen anzuzeigen.UICollectionView animierte Daten ändern
Der Benutzer kann die Reihenfolge ändern, indem er auf ein segmentiertes Steuerelement klickt, das einen Abruf von Kerndaten mit unterschiedlichem NSSortDescriptor aufruft.
Die Datenmenge immer gleich ist, nur in verschiedenen Abschnitten/Zeilen enden:
- (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];
}
Das Problem ist, dass reload nicht die Änderung nicht animieren, UICollectionView erscheint nur mit den neuen Daten .
Soll ich verfolgen, in welchem IndexPfad eine Zelle vor und nach der Änderung war, und [self.collectionView moveItemAtIndexPath: toIndexPath:] verwenden, um die Animation für die Änderung durchzuführen, oder gibt es eine bessere Methode?
ich viel in Subklassifizieren collectionViews nicht so bekommen jede Hilfe wird groß sein ...
Danke, Bill.
Haben Sie versucht, den 'reloadData'-Aufruf in einen Animationsblock umwandeln? – simon