Почему beginUpdates / endUpdates сбрасывают позицию tableView и как это предотвратить? - PullRequest
3 голосов
/ 13 августа 2011

Я использую NSFetchedResultsController в моем UITableView и в

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
and 
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller

у меня есть вызов beginUpdates / endUpdates для документов apple.Проблема в том, что каждый раз, когда он делает этот вызов, он сбрасывает позицию таблицы наверх.Любые идеи, почему это происходит, и если есть способ избежать сброса позиции стола?

thx

Ответы [ 2 ]

0 голосов
/ 13 августа 2011

Вы можете сохранить indexPath текущей строки, например,

NSIndexPath *pastIP=[NSIndexPath indexPathForRow:0 inSection:0]

и после обновления

[tableView selectRowAtIndexPath:pastIP animated:YES scrollPosition:UITableViewScrollPositionTop];
0 голосов
/ 13 августа 2011

Вместо beginUpdates / endUpdates, вы не можете просто позвонить [myTableView reloadData];?Может быть, я чего-то не понимаю ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...