ViewWillAppear中的UITableViewScroll

时间:2017-08-17 06:21:43

标签: ios uitableview

我正在尝试在viewWillAppear中滚动表格以显示特定的单元格,但它不起作用,当我在ViewDidAppear中编写相同的代码时延迟为2秒它正在工作但用户看到滚动。我不希望用户看到这一点。如何在ViewWillAppear中滚动表格。使用下面的代码。

var rect = self.messageTableView.rectForRow(at: indPath)
self.messageTableView.scrollRectToVisible(rect, animated: false)

5 个答案:

答案 0 :(得分:0)

您可以在viewDidAppear方法中使用您的代码,这是视图生命周期的最后一种方法。它会在那里工作。试试吧。

答案 1 :(得分:0)

我相信拨打[table setContentOffset:CGPointMake(0, CGFLOAT_MAX)]会做你想做的事。

答案 2 :(得分:0)

如果您有IndexPath,那么您也可以使用以下方法 -

open func scrollToRow(at indexPath: IndexPath, at scrollPosition: UITableViewScrollPosition, animated: Bool)

答案 3 :(得分:0)

检查您的Indexpath是否为零。 尝试在主线程上编写代码。

    DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
//your code
}

答案 4 :(得分:0)

查看演示项目。

您的错误可能与UITableView数据源更改有关。

  

注意.reloadData()。在滚动之前调用重新加载。

Demo project