【发布时间】:2016-02-15 18:43:20
【问题描述】:
我有一个UITableView,其中填充了具有动态高度的单元格。当从视图控制器推送视图控制器时,我希望表格滚动到底部。
我已尝试使用 contentOffset 和 tableView scrollToRowAtIndexPath,但仍然没有得到我想要的完美解决方案。
谁能帮我解决这个问题?
这是我要滚动的代码:
let indexPath = NSIndexPath(forRow: commentArray.count-1, inSection: 0)
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: true)
【问题讨论】:
-
你什么时候拨打这个电话。这是最重要的。您不想在表格视图被填充之前调用它。
-
是的,我在重新加载 tableview 后调用了这一行
-
这还不够。你看,
reloadData虽然看起来是同步的,但实际上是异步的。因此,您必须将代码包含在主线程上的dispatchAsync块中,或者找到另一种方法来执行此操作。我多次遇到这个问题。大多数时候滚动到特定的索引路径几乎是徒劳的。你应该使用setContentOffset方法。 -
你能告诉我,我应该在哪里使用这个 setContentOffset 行。
标签: ios swift uitableview