У меня есть UITableView, чей источник данных и делегат переключаются между несколькими настраиваемыми объектами источника данных, когда пользователь касается сегментированного элемента управления (подумайте "Top Paid" и "Top Free" в приложении магазина приложений).
Каждый объект источника данных сохраняет последнее смещение содержимого прокрутки и восстанавливает его, когда он становится активным источником данных для представления таблицы, делая:
tableView.contentOffset = CGPointMake(0, savedScrollPosition);
Это хорошо работает, когда пользователь переключает источник данных, когда таблица находится в состоянии покоя, но если пользователь попадает в сегментированный элемент управления, пока таблица все еще движется (т.е. замедляется), представление таблицы продолжает замедляться от старого смещения, эффективно перекрывая мое назначение contentOffset.
Есть ли способ заставить представление таблицы прекратить прокрутку/замедление, когда я устанавливаю contentOffset, или другой способ заставить этот вид таблицы данных с переключаемым источником данных работать?