如何在表格视图中记住确切的滚动位置

时间:2019-06-30 21:34:38

标签: ios swift uitableview

在我的VC中,我具有表视图。我想记住确切的滚动位置,以便当用户回到此视图时,我可以滚动到相同的位置。我的要求是,当用户返回查看时,我必须重新加载数据。

我尝试使用内容偏移量方法,但是此偏移量已超出表格高度,因此该解决方案不适用于我。

我尝试保存indexPath并滚动到该位置,但这没有给出确切位置。我必须指定中间位置,顶部或底部,而不是确切的位置。

那么在重新加载表中的数据后我们如何记住确切的滚动位置并滚动到该位置?

self.tableView.scrollToRow(at: scrollToSavedIndexPath, at: UITableView.ScrollPosition.middle, animated: false)

1 个答案:

答案 0 :(得分:0)

问题:我刚刚看到您提到contentOffset对您不起作用。您可以通过每次打印出contentOffset值来重试该方法吗?这是了解为什么offset方法对您不起作用的好起点。

使用以下命令保存滚动位置:

 let offset = tableView.contentOffset

然后按如下所示设置滚动位置:

tableView.setContentOffset(offset, animated: false)