3D Touch和状态恢复问题

use*_*428 10 uitableview ios state-restoration swift 3dtouch

我正在努力在我的应用程序中实现状态恢复,但是我遇到了一个问题.我最近在桌面视图中添加了3D Touch支持,并且每次都完美地工作,除非我已经添加了状态恢复.当应用程序恢复表格视图时,向单元格施加压力不会产生任何效果,就好像表格视图尚未注册进行预览一样.

我有这个代码viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()

    if #available(iOS 9.0, *) {
        if traitCollection.forceTouchCapability == UIForceTouchCapability.Available {
            registerForPreviewingWithDelegate(self, sourceView: view)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试着将它移动viewDidAppear到看它是否会有所帮助,但它并没有什么不同.

有任何想法吗?

use*_*428 4

好吧,我最终想通了。我必须移动registerForPreviewingWithDelegateviewWillAppear并且我还必须添加self.到开头。