Handling Double Taps from Apple Pencil

Panther·2021년 8월 4일
0
post-custom-banner

https://developer.apple.com/documentation/uikit/pencil_interactions/handling_double_taps_from_apple_pencil

"Detect and respond to double taps a user makes on Apple Pencil."

사용자가 애플 펜슬을 사용해 더블 탭 하는 것을 감지하고 이에 응답합니다.

Overview

사용자가 앱에서 기능을 빠르게 수행할 수 있도록 펜슬 상호작용을 사용할 수 있습니다. 애플 펜슬로 더블 탭 하는 것은 사용자가 펜슬을 스크린 다른 위치로 이동시킬 필요 없으 드로잉 툴 사이의 전환과 같은 액션을 수행할 수 있도록 해줍니다.

Add a Pencil Interaction

앱에서 애플 펜슬의 더블 탭을 처리하려면, UIPencilInteraction 객체를 생성하고 이 객체의 딜리게이트를 UIPencilInteractionDelegate 프로토콜을 구현하는 객체로 설정해야 합니다. 마지막으로 앱의 뷰에 상호작용을 추가합니다. 아래 Listing 1처럼 구현할 수 있습니다.

Listing 1 Adding a Pencil interaction to a view

let pencilInteraction = UIPencilInteraction()
pencilInteraction.delegate = self
view.addInteraction(pencilInteraction)

Handle the Double Tap

딜리게이트는 사용자가 펜슬을 사용해 더블 탭을 할 때 더블 탭 이벤트를 받습니다. 딜리게이트는 사용자의 애픈 펜슬 더블 탭 이후 시스템이 호출하는 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()
    }
}

사용자가 선호하는 액션이 아닌 액션을 지원해야 한다면, 사용자가 더블 탭을 할 때 사용자가 어떤 일이 발생할지 알 수 있도록 직관적인 방법을 제공하기 바랍니다. 그리고 이 액션을 비활성화할 수 있는 옵션을 제공하시기 바랍니다.

post-custom-banner

0개의 댓글