我有一个很大程度上填充的TableView在我的应用程序中运行50多个单元格行。当我向下滚动到特定单元格并深入到详细视图控制器并再次返回时,表格一直滚动到顶部即可。我已经看过以下类似的问题了
How can I get the UITableView scroll position so I can save it?
Setting scroll position in UITableView
Remembering scroll position on UITableView
https://grokswift.com/programmatic-uitableview-scrolling/
我尝试从上面的链接和答案中解决问题但是,到目前为止我仍然没有运气。我正在发布我的尝试,如下所示。
方法1:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.myTableView.reloadData()
self.myTableView.setContentOffset(CGPointMake(0, -20), animated: false)
}
方法2:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.myTableView.reloadData()
dispatch_async(dispatch_get_main_queue(), {() -> Void in
let rowIndexPath: NSIndexPath = NSIndexPath(forRow: 3, inSection: 0)
self.myTableView.scrollToRowAtIndexPath(rowIndexPath, atScrollPosition: .Middle, animated: false)
})
}
方法3:
func scrollToSelectedRow() {
let selectedRows = self.tableView.indexPathsForSelectedRows
if let selectedRow:NSIndexPath = selectedRows?[0] {
self.tableView.scrollToRowAtIndexPath(selectedRow, atScrollPosition: .Middle, animated: true)
}
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.myTableView.reloadData()
func scrollToSelectedRow()
}
提前感谢...