3

我正在尝试将 3d touch 添加到我的应用程序中。我试图让用户在 UITableViewCell 上使用强制触摸,如本项目所示。我正在运行此代码:

if traitCollection.forceTouchCapability == UIForceTouchCapability.Available {
    registerForPreviewingWithDelegate(self, sourceView: view)
} else {
    print("unavailable")
}

我曾尝试在 iPhone 6s+ 上运行它,但我在日志中收到“不可用”。为什么我不能在支持 3d touch 的设备上使用 3d touch?谢谢你的帮助。

4

1 回答 1

6

刚刚找到一些关于 3D Touch APIs 的参考资料:根据3D Touch APIs文档,Apple 建议开发人员阅读forceTouchCapability委托traitCollectionDidChange:方法。

例如,您可以使用以下命令检查视图控制器中的值:

override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)
    switch traitCollection.forceTouchCapability {
    case .Available:
        print("Available")
    case .Unavailable:
        print("Unavailable")
    case .Unknown:
        print("Unknown")
    }
}

希望能帮助到你。

于 2016-04-23T14:52:05.917 回答