UITableViewRowAnimation jest ignorowane
używamNSFetchedResultsController
wypełnić mój stół. Dane w mojej tabeli są sortowane według znacznika czasu w kolejności rosnącej (najnowszy komunikat na dole). Więcej danych jest ładowanych za pomocą „nieskończonego przewijania” na górę: np. gdy użytkownik przewija się przez górę, ładowanych jest więcej wiadomości. MójNSFetchedResultsControllerDelegate
jest zdefiniowany jak zwykle, zgodnie z zaleceniami w dokumentacji Apple: nowe wiersze są wstawiane przez
- (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;
Oto mój problem: po wstawieniu nowych wierszy są one zawsze animowane jako przesuwane „w dół”. Na nieskończonym przewinięciu wygląda źle. Dzieje się tak niezależnie od tego, czy przejdęUITableViewRowAnimationNone
, UITableViewRowAnimationTop
lubUITableViewRowAnimationBottom
jako parametr - ta opcja wydaje się być całkowicie ignorowana.
Jakieś pomysły, jak prawidłowo animować stół?