"Check whether a device supports 3D Touch before enabling features that use it."
기능을 사용할 수 있도록 하기 전에 기기가 3D 터치를 지원하는지 여부를 확인합니다.
기기에서 3D 터치가 사용 가능한지 확인하려면, UITraitEnvironment
프로토콜을 따르고 있는 객체(앱의 뷰와 뷰 컨트롤러와 같은)의 forceTouchCapability
속성을 확인해야 합니다. Listing 1은 뷰 컨트롤러로부터 로드하는 시점에 기능이 사용 가능한지 혹은 불가능한지에 대한 속성을 사용하는 방법에 대한 코드입니다. 앱이 작동하는 동안 3D 사용 가능 여부에 대한 변경사항을 감지하기 위해 traitCollectionDidChange(_:)
메소드를 사용하시기 바랍니다.
Listing 1 Checking for the availability of 3D Touch
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Check the trait collection to see if force is available.
if self.traitCollection.forceTouchCapability == .available {
// Enable 3D Touch features
} else {
// Fall back to other non 3D Touch features.
}
}
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
// Update the app's 3D Touch support.
if self.traitCollection.forceTouchCapability == .available {
// Enable 3D Touch features
} else {
// Fall back to other non 3D Touch features.
}
}
}
3D 터치 지원을 포함하거나 포함하지 않는 앱에 대한 구현 방법 가이드는 iOS Human Interface Guidelines를 살펴보시기 바랍니다.
Human Interface Guidelines
https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/