Мне нужно перезагрузить табличное представление, но каким-то образом я хочу сохранить положение прокрутки. Любой способ сделать это? Может быть, хранить смещение содержимого и в viewDidLayoutSubviews
Я должен его сбросить?Это способ сохранить contentOffset после перезагрузки tableview?
ответ
ТаблицаView не сбрасывает положение прокрутки. Он поддерживает смещение содержимого даже после вызова функции reloadData. Так что ничего не нужно делать, если вы хотите сохранить позицию пикселя.
Если вы изменяете высоту строки во время перезагрузки данных или изменения источника данных, вы можете использовать метод scrollToRowAtIndexPath:atScrollPosition:animated:
.
просто позвоните scrollToRowAtIndexPath:atScrollPosition:animated:
, прежде чем использовать reloadData (с анимацией: НЕТ)
Кроме того, будьте осторожны, в случае, если у вас меньше клеток в обновленном Tableview для предотвращения аварий.
Надеется, что это помогает
После перезагрузки вида таблицы необходимо вызвать TableView МЕТОД scrollToRowAtIndexPath:atScrollPosition:animated
:
Просто укажите путь индекса, выделите позицию, которая может быть одним из следующего
UITableViewScrollPositionNone,
UITableViewScrollPositionTop,
UITableViewScrollPositionMiddle,
UITableViewScrollPositionBottom
и YES/NO в анимированном параметре.
Вы можете сохранить текущее смещение перед загрузкой таблицы использовать этот метод, чтобы сохранить текущее смещение
self.tableView.contentOffset.y
Или вы можете перезагружать, как это будет Обновить таблицу из вашего текущего смещения Попробуйте это:
[UIView animateWithDuration:0.1 delay:0 options:0 animations:^{
self.tableView.contentOffset = CGPointMake(0, currentOffset);
} completion:^(BOOL finished) {
[self.tableView reloadData];
}];
- 1. TableView ContentInset и ContentOffset
- 2. не может получить contentOffset tableView
- 3. reloadRowsAtIndexPaths обновляет contentOffset Вид таблицы
- 4. Почему сбои UISearchBar после перезагрузки TableView
- 5. tableview сохраняющееся изображение ячейки после перезагрузки
- 6. После перезагрузки приложения tableview с ошибкой зомби
- 7. Невозможно выбрать определенный UITableViewCell после перезагрузки tableView
- 8. Как сохранить текст после перезагрузки?
- 9. Есть ли способ сохранить процесс и восстановить его после перезагрузки?
- 10. UITableView contentOffset сбрасывается после прокрутки UIScrollView
- 11. UITableView visibleCells возвращает неправильные ячейки после contentOffset
- 12. Как сохранить конфигурацию виджета после перезагрузки телефона?
- 13. Сохранить сортировку таблицы после перезагрузки страницы
- 14. Как сохранить позицию после перезагрузки DataGridView
- 15. сохранить положение прокрутки внутри div после перезагрузки
- 16. jQuery draggable, сохранить позицию после перезагрузки страницы?
- 17. Позиция UIScrollView после изменения ContentOffset
- 18. Как сохранить значение переменной после перезагрузки страницы?
- 19. Как сохранить текущую вкладку после перезагрузки страницы?
- 20. Как сохранить класс div после перезагрузки страницы
- 21. Websocket: сохранить сеанс пользователя после перезагрузки страницы.
- 22. TableView сохранить после смены цвета изображения
- 23. ContentOffset on Dynamic UITableView
- 24. Редактирование UITableView равно NO после перезагрузки таблицы
- 25. TableView yOffset изменен после reloadData
- 26. contentOffset в UIScrollView после вращения iPhone
- 27. способ вызова - (CGFloat) Tableview: (UITableView *) Tableview heightForFooterInSection: (NSInteger) раздел без перезагрузки
- 28. Где подходящее место для перезагрузки данных TableView?
- 29. viewForHeaderInSection не вызывается для перезагрузки tableview
- 30. Как сохранить состояние после отображения: нет? Предотвращение перезагрузки после перезагрузки страницы