後頂部我有動力單元的高度在我的tableView的UITableView動態細胞高度滾動調用reloadData
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100
我想要做的一樣WhatsApp的應用程序(分頁),我想加載25 25行,所以當在頂部的用戶滾動,我想加載新的數據,但我想保持滾動的同一位置,這裏是我做過什麼
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if isMore && scrollView.contentOffset.y == 0 {
loadMore() // function that add new data in my model
self.tableView.reloadData()
}
}
我已經是後我達到我的tableview的頂部它調用reloadData但問題tableView滾動到UP
我測試器這樣的一些其他的解決方案:
var cellHeights: [IndexPath : CGFloat] = [:]
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cellHeights[indexPath] = cell.frame.size.height
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
guard let height = cellHeights[indexPath] else { return 70.0 }
return height
}
但仍然沒有工作
默認情況下,表視圖上的'.reloadData()'不會**改變表的滾動位置。也許在你的'loadMore()'或其他一些函數正在改變表視圖屬性? – DonMag
是的,因爲我使用動態單元格高度UITableViewAutomaticDimension – OuSS
嗯...你說*「當用戶滾動頂部,我想加載新的數據」* ...所以你想添加行上面的第零行? – DonMag