Смещение табличного представления изменено после перезагрузки данных.
1 Динамическая высота строки с использованием автоматического макета.
2 Использование панели навигации и панели вкладок в UIViewController.
3 Использование 2заголовок в tableivew (Мой 1-й и 2-й заголовок является статическим для всех динамических строк в первом разделе.)
Пожалуйста, проверьте Log
Первая загрузка таблицы просмотра
previousContentHeight -> 291.0 -- previousContentOffset -> 0.0
afterReloadDataContentHeight -> 3788.5 -- afterReloadDataContentOffset -> 0.0
Новые данные поступили с сервера и перезагрузили данные
previousContentHeight -> 3788.5 -- previousContentOffset -> 3063.5
afterReloadDataContentHeight -> 1719.0 -- afterReloadDataContentOffset -> 580.5
Вот функция перезагрузки данных
func prepareReloadData() {
let previousContentHeight = tblView.contentSize.height
let previousContentOffset = tblView.contentOffset.y
print("previousContentHeight -> \(previousContentHeight) -- previousContentOffset -> \(previousContentOffset)")
tblView.reloadData()
tblView.layoutIfNeeded()
print("afterReloadDataContentHeight -> \(self.tblView.contentSize.height) -- afterReloadDataContentOffset -> \(self.tblView.contentOffset.y)")
}