.reloadSections之后的UITableView不正确的偏移量

时间:2018-04-30 10:51:37

标签: ios swift uitableview

当我点按以显示/隐藏内容时,我有下一个代码。

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个项目的视频。它运作良好 video 1

第一部分有10个项目的视频。它有bug。video 2

1 个答案:

答案 0 :(得分:1)

解决方案正在取代

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat