我正在尝试将3D touch添加到我的应用程序中。我正在尝试使用户能够在UITableViewCell上使用力触摸,如本项目所示。我正在运行此代码:
if traitCollection.forceTouchCapability == UIForceTouchCapability.Available {
registerForPreviewingWithDelegate(self, sourceView: view)
} else {
print("unavailable")
}
我尝试在iPhone 6s +上运行它,但是我的日志中收到"不可用"。为什么我不能在支持 3D 触控的设备上使用 3D 触控?感谢您的帮助。
刚刚找到了一些关于 3D Touch API 的参考资料:根据 3D Touch API 文档,Apple 建议开发人员在委托方法traitCollectionDidChange:
读取forceTouchCapability
。
例如,您可以使用以下命令检查视图控制器中的值:
override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
switch traitCollection.forceTouchCapability {
case .Available:
print("Available")
case .Unavailable:
print("Unavailable")
case .Unknown:
print("Unknown")
}
}
希望对您有所帮助。