ios - 3D Touch 和状态恢复的问题

标签 ios swift uitableview state-restoration 3dtouch

我正在努力在我的应用程序中实现状态恢复,但是我遇到了一个问题。我最近在表格 View 中添加了 3D Touch 支持,除了现在我添加了状态恢复之外,它每次都能完美运行。当应用程序恢复表格 View 时,对单元格施加压力不会执行任何操作,就好像表格 View 尚未注册预览一样。

我在 viewDidLoad 中有这段代码:

override func viewDidLoad() {
    super.viewDidLoad()

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

我尝试将其移动到 viewDidAppear 以查看它是否有帮助,但没有任何区别。

有什么想法吗?

最佳答案

好吧,我终于明白了。我必须将 registerForPreviewingWithDelegate 移动到 viewWillAppear 并且我还必须将 self. 添加到开头。

关于ios - 3D Touch 和状态恢复的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32825365/

相关文章:

ios - UIStackView 在 Interface Builder 中的显示有所不同

ios - 忽略 NSURLErrorDomain 错误 -999 在 UIWebView 中不起作用

ios - 带有 UISearchBar 作为标题 View 的 UITableView 导致崩溃

ios - Calendar.Component 中的季度组件有什么作用? ( swift )

ios - 如何防止用户写除英文以外的任何内容 Ios

ios - 点击后 UitableView 改变 sectionView

ios - 关于可重用的 UITableViewCells 和委托(delegate),最佳实践是什么?

ios - 如何在 Swift 中为图像制作动画?

ios - UIPanGestureRecognizer:手指下的偏移 View

swift - Firebase:访问通过 childByAutoID 存储的数据