在尝试了segue之后,我发现我的UITableView在执行segue后由于未知原因而滞后。请看视频: https://www.youtube.com/watch?v=mPAVcvf9UcE 源代码:http://pastebin.com/c62UZiNx
按照这个问题的解决方案后,我遇到了这个问题: How can I get the UITableView scroll position so I can save it?
我设法解决此问题的唯一方法是创建一个 CGPoint (如 CGPointMake(0,20) ),而不是在转场发生时记住它。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetailedPost" {
if let vc = segue.destinationViewController as? DetailedPostVC {
offset = tableView.contentOffset
vc.num = tableView.indexPathForSelectedRow()!.row
}
}
}
这似乎无法解决问题:
override func viewWillDisappear(animated: Bool) {
offset = tableView.contentOffset
}
override func viewWillAppear(animated: Bool) {
tableView.contentOffset = offset
}
最佳答案
所讨论的行为自 iOS 8.4 起已得到修复,因此该问题仅与之前的 iOS 版本相关。
关于ios - Segue 后向上滚动时 UITableView 滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31255445/