Когда пользователь нажимает кнопку в одной из моих строк, я обновляю базовую модель для этой строки, а затем вызываю reloadRowsAtIndexPaths для данной строки (например, перезагрузка одной строки).
- (IBAction)handleCompleteTouchEvent:(UIButton *)sender {
NSIndexPath *indexPath = [self.tableView indexPathForView:sender];
id item = [self dataForIndexPath:indexPath];
if ([item respondsToSelector:@selector(completed)]) {
// toogle completed value
BOOL completed = ![[item valueForKey:@"completed"] boolValue];
[item setValue:[NSNumber numberWithBool:completed] forKey:@"completed"];
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
}
}
Проблема заключается в том, что после выполнения этого вызова табличное представление возвращается в начало раздела. Как я могу помешать этому возникнуть и сохранить положение прокрутки там, где оно есть?