3d Touch недоступно на iPhone 6s+
Я пытаюсь добавить 3D Touch в свое приложение. Я пытаюсь разрешить пользователю использовать принудительное прикосновение к UITableViewCell, как показано в этом проекте. Я бегу этот код:
if traitCollection.forceTouchCapability == UIForceTouchCapability.Available {
registerForPreviewingWithDelegate(self, sourceView: view)
} else {
print("unavailable")
}
Я попытался запустить его на iPhone 6s+, но я получаю "недоступно" в моих журналах. Почему я не могу использовать 3D Touch на устройстве с поддержкой 3D Touch? Спасибо за вашу помощь.
1 ответ
Решение
Только что нашел ссылку на API 3D Touch: согласно документации по API 3D Touch, 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")
}
}
Надеюсь, поможет.