UITableViewRowAnimation wird ignoriert
Ich benutzeNSFetchedResultsController
um meinen Tisch zu füllen. Die Daten in meiner Tabelle sind in aufsteigender Reihenfolge nach dem Zeitstempel sortiert (letzte Meldung unten). Weitere Daten werden über "Infinite Scroll" nach oben geladen: z. Wenn der Benutzer am oberen Rand vorbeirollt, werden mehr Nachrichten geladen. MeineNSFetchedResultsControllerDelegate
wird wie gewohnt definiert, wie in der Apfeldokumentation empfohlen: Neue Zeilen werden über eingefügt
- (void)controller:(NSFetchedResultsController*)controller
didChangeObject:(id)anObject
atIndexPath:(NSIndexPath*)indexPath
forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath*)newIndexPath
{
switch(type) {
case NSFetchedResultsChangeInsert:
NSLog(@"insertion at row %d", newIndexPath.row);
[self.table insertRowsAtIndexPaths:@[newIndexPath]
withRowAnimation:UITableViewRowAnimationNone];
break;
Jetzt ist hier mein Problem: Wenn neue Zeilen eingefügt werden, werden sie immer so animiert, dass sie "nach unten" gleiten. Auf der unendlichen Schriftrolle nach oben sieht es schlecht aus. Das passiert unabhängig davon, ob ich bestanden habeUITableViewRowAnimationNone
, UITableViewRowAnimationTop
oderUITableViewRowAnimationBottom
als Parameter - diese Option scheint völlig ignoriert zu werden.
Irgendwelche Ideen, wie man den Tisch richtig animiert?