Ios UITableView。重新加载节后偏移量不正确
当我点击以显示/隐藏内容时,我有下一个代码Ios UITableView。重新加载节后偏移量不正确,ios,swift,uitableview,Ios,Swift,Uitableview,当我点击以显示/隐藏内容时,我有下一个代码 func showHideAssets() { isOpenHiddenAssets = !isOpenHiddenAssets tableView.beginUpdates() tableView.reloadSections(IndexSet(integer: 1), with: .fade) tableView.endUpdates() } 当第一节包含许多项时,在重新加载节后,表格将以不正确的偏移量滚
func showHideAssets() {
isOpenHiddenAssets = !isOpenHiddenAssets
tableView.beginUpdates()
tableView.reloadSections(IndexSet(integer: 1), with: .fade)
tableView.endUpdates()
}
当第一节包含许多项时,在重新加载节后,表格将以不正确的偏移量滚动到底部
func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return 10
}
return isOpenHiddenAssets ? assetsHiddenItems.count : 0
}
第一节有3个项目的视频。它工作得很好
第一节有10个项目的视频。它有错误。解决方案正在替换
func tableView(tableView:UITableView,heightForRowAt indexath:indexPath)->CGFloat
与
重新加载部分后,请尝试
tableView.reloadData()
。这没有帮助,请尝试实现:func tableView(\uu.tableView:UITableView,estimatedHeightForRowAt indexath:indexath)->CGFloat
。尝试使用80.0这样的值(其实并不重要),它会有所帮助。感谢在我的例子中,它在可折叠表中工作,只需添加estimatedHeightForRowAt
,返回的结果与heightForRowAt
返回的结果不一样(即即使返回+1)
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat