"Detect and respond to double taps a user makes on Apple Pencil."
사용자가 애플 펜슬을 사용해 더블 탭 하는 것을 감지하고 이에 응답합니다.
사용자가 앱에서 기능을 빠르게 수행할 수 있도록 펜슬 상호작용을 사용할 수 있습니다. 애플 펜슬로 더블 탭 하는 것은 사용자가 펜슬을 스크린 다른 위치로 이동시킬 필요 없으 드로잉 툴 사이의 전환과 같은 액션을 수행할 수 있도록 해줍니다.
앱에서 애플 펜슬의 더블 탭을 처리하려면, UIPencilInteraction
객체를 생성하고 이 객체의 딜리게이트를 UIPencilInteractionDelegate
프로토콜을 구현하는 객체로 설정해야 합니다. 마지막으로 앱의 뷰에 상호작용을 추가합니다. 아래 Listing 1처럼 구현할 수 있습니다.
Listing 1 Adding a Pencil interaction to a view
let pencilInteraction = UIPencilInteraction()
pencilInteraction.delegate = self
view.addInteraction(pencilInteraction)
딜리게이트는 사용자가 펜슬을 사용해 더블 탭을 할 때 더블 탭 이벤트를 받습니다. 딜리게이트는 사용자의 애픈 펜슬 더블 탭 이후 시스템이 호출하는 pencilInteractionDidTap(_:)
메소드를 구현합니다. 이 메소드의 구현 영역에서, 사용자가 설정 앱에서 선택한 액션을 수행할지 혹은 앱에 적합한 다른 동작을 수행할지 결정하시기 바랍니다. 가능하면 사용자가 선호하는 동작을 수행하도록 해야 합니다.
이 단계를 포함하는 것은 펜슬 상호작용을 지원하는 앱 전반에 일관적인 사용자 경험을 제공합니다. 사용자가 선호하는 액션을 확인하려면 UIPencilInteraction
에 있는 preferredTapAction
클래스 속성을 사용하시기 바랍니다. Listing 2와 같습니다.
Listing 2 Switching drawing tools after double-tapping an Apple Pencil
func pencilInteractionDidTap(_ interaction: UIPencilInteraction) {
if UIPencilInteraction.preferredTapAction == .switchPrevious {
leftRingControl.switchToPreviousTool()
}
}
사용자가 선호하는 액션이 아닌 액션을 지원해야 한다면, 사용자가 더블 탭을 할 때 사용자가 어떤 일이 발생할지 알 수 있도록 직관적인 방법을 제공하기 바랍니다. 그리고 이 액션을 비활성화할 수 있는 옵션을 제공하시기 바랍니다.