Проблема: Так что, если вы вставляете данные поверх таблицы, пользователь должен прокрутить вниз, чтобы найти, где он оставил?
Решение: почемуне делайте эту прокрутку вниз для пользователя, вычисляя смещение и устанавливая смещение до окончания обновления таблицы.
Как рассчитать это смещение?(количество ячеек, вставляемых сверху) * (высота ячеек)
Примечание : в приведенном ниже примере / расчете я вычитаю две ячейки из числа ячеек, которые я вставляю, чтобы дать пользователюпредварительный просмотр с данными сверху
[strongSelf.tableView beginUpdates];
//INSERT DATA & CELLS ON TOP
//REMOVE DATA ON BOTTOM IF NECESSARY
//moving scrollview right back down so user can resume where last left off
NSInteger estimatedRow = strongSelf.tableView.rowHeight * ( (indexPathsAdding.count) - 2);
[strongSelf.tableView setContentOffset:CGPointMake(0, estimatedRow)];
[strongSelf.tableView endUpdates];