UITableViewRowAnimation é ignorado
estou a usarNSFetchedResultsController
para preencher minha mesa. Os dados da minha tabela são classificados de acordo com o registro de data e hora na ordem crescente (última mensagem na parte inferior). Mais dados são carregados por meio de "rolagem infinita" até o topo: por exemplo, Quando o usuário rola pelo topo, mais mensagens são carregadas. MinhasNSFetchedResultsControllerDelegate
é definido como de costume, conforme recomendado na documentação da apple: novas linhas são inseridas via
- (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;
Agora aqui está o meu problema: quando novas linhas são inseridas, elas são sempre animadas como "abaixo". Na rolagem infinita para cima, parece ruim. Isso acontece independentemente de eu passarUITableViewRowAnimationNone
, UITableViewRowAnimationTop
ouUITableViewRowAnimationBottom
como o parâmetro - essa opção parece ser totalmente ignorada.
Alguma idéia de como animar a tabela corretamente?