https://developer.apple.com/documentation/uikit/touches_presses_and_gestures
"Encapsulate your app's event-handling logic in gesture recognizers so that you can reuse that code throughout your app."
제스쳐 리코그나이저에 있는 앱의 이벤트 처리 로직을 캡슐화함으로써 앱에서 해당 코드를 재사용할 수 있게 합니다.
표준 UIKit
뷰와 컨트롤을 사용해 앱을 빌드하고 있다면, UIKit
은 자동으로 터치 이벤트(멀티 터치 포함)을 자동으로 처리합니다. 그러나 컨텐트를 보여주기 위한 커스텀 뷰를 사용하는 경우 뷰에서 발생하는 터치 이벤트 모두는 직접 처리해야 합니다. 터치 이벤트를 직접 처리하는 방법은 두 가지가 있습니다.
UIView
서브클래스에서 직접 터치를 추적합니다. Handling Touches in Your View를 보시기 바랍니다.Handling UIKit Gestures
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures
https://velog.io/@panther222128/Handling-UIKit-Gestures
Handling Touches in Your View
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_touches_in_your_view
앱을 통해 전개되는 이벤트를 어떻게 다루는지 학습하게 되는 자료입니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/using_responders_and_the_responder_chain_to_handle_events
https://velog.io/@panther222128/Responder-Chain
이벤트에 응답하고 이벤트를 다룰 수 있는 추상 인터페이스입니다.
https://developer.apple.com/documentation/uikit/uiresponder
https://velog.io/@panther222128/UIApplication-and-App-Delegate
앱과의 단일 사용자 상호작용을 설명하는 객체입니다.
https://developer.apple.com/documentation/uikit/uievent
https://velog.io/@panther222128/UIEvent
뷰의 컨텐트에 터치 처리가 복잡하게 연결되어 있는 경우 뷰 서브클래스에서 직접 터치 이벤트를 사용합니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_touches_in_your_view
https://velog.io/@panther222128/Handling-Touches-in-Your-View
애플 펜슬로부터 발생한 터치를 감지하고 이에 응답하는 방법을 알아봅니다.
https://developer.apple.com/documentation/uikit/pencil_interactions/handling_input_from_apple_pencil
https://velog.io/@panther222128/Handling-Input-from-Apple-Pencil
터치의 압력에 기반해 컨텐트를 조작합니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/tracking_the_force_of_3d_touch_events
https://velog.io/@panther222128/Tracking-the-Force-of-3D-Touch-Events
화면에서 발생하는 터치의 위치, 크기, 움직음, 압력을 나타내는 객체입니다.
https://developer.apple.com/documentation/uikit/uitouch
https://velog.io/@panther222128/UITouch
스크린에서 특정 이벤트에 대한 버튼 누르기의 존재 혹은 움직임을 나타내는 객체입니다.
https://developer.apple.com/documentation/uikit/uipress
https://velog.io/@panther222128/UIPress
기기에서 사용 가능한 물리적 버튼 상태의 집합을 설명하는 이벤트로, 기기는 리모트 혹은 게임 컨트롤러에 관련이 있는 것들입니다.
https://developer.apple.com/documentation/uikit/uipressesevent
https://velog.io/@panther222128/UIPressesEvent
같은 뷰에서 다중 제스쳐 리코그나이저를 사용하는 방법을 알아봅니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/coordinating_multiple_gesture_recognizers
https://velog.io/@panther222128/Coordinating-Multiple-Gesture-Recognizers
뷰에 대한 포인터 움직임을 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uihovergesturerecognizer
https://velog.io/@panther222128/UIHoverGestureRecognizer
long-press 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uilongpressgesturerecognizer
https://velog.io/@panther222128/UILongPressGestureRecognizer
팬 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uipangesturerecognizer
https://velog.io/@panther222128/UIPanGestureRecognizer
두 터치로 이뤄지는 핀치 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uipinchgesturerecognizer
https://velog.io/@panther222128/UIPinchGestureRecognizer
두 손가락으로 하는 회전 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uirotationgesturerecognizer
https://velog.io/@panther222128/UIRotationGestureRecognizer
스크린의 모서리 근처에서 시작한 팬 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uiscreenedgepangesturerecognizer
https://velog.io/@panther222128/UIScreenEdgePanGestureRecognizer
하나 혹은 하나 이상의 방향에서 스와이프 제스쳐를 해석하는 이산적 제스쳐리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uiswipegesturerecognizer
https://velog.io/@panther222128/UISwipeGestureRecognizer
단일 혹은 다중 탭을 해석하는 이산적 제스쳐 리코그나이저입니다.
https://developer.apple.com/documentation/uikit/uitapgesturerecognizer
https://velog.io/@panther222128/UITapGestureRecognizer
고유한 제스쳐 리코그나이저를 빌드하는 적합한 때와 방법에 대해 알아봅니다.
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/implementing_a_custom_gesture_recognizer
https://velog.io/@panther222128/Implementing-a-Custom-Gesture-Recognizer
구체화된 제스쳐 리코그나이저들의 베이스 클래스입니다.
https://developer.apple.com/documentation/uikit/uigesturerecognizer
https://velog.io/@panther222128/UIGestureRecognizer
앱의 제스쳐 인식 동작을 정밀하게 조정하기 위한 제스쳐 리코그나이저의 딜리게이트에 의해 구현된 메소드 집합입니다.
https://developer.apple.com/documentation/uikit/uigesturerecognizerdelegate
https://velog.io/@panther222128/UIGestureRecognizerDelegate
3D 터치 상호작용에 반응하는 커스텀 사용자 경험을 제공하기 위해 뷰를 등록하는 클래스입니다.
https://developer.apple.com/documentation/uikit/uipreviewinteraction
https://velog.io/@panther222128/UIPreviewInteraction
프리뷰 상호작용의 진행상황을 소통하기 위한 메소드의 집합입니다.
https://developer.apple.com/documentation/uikit/uipreviewinteractiondelegate
https://velog.io/@panther222128/UIPreviewInteractionDelegate
peek quick action 및 peek quick action 그룹에 적용할 수 있는 스타일들 및 peek quick action의 사용자 시각화 제목에 대한 읽기 전용 접근자를 정의하는 메소드 집합입니다.
https://developer.apple.com/documentation/uikit/uipreviewactionitem
https://velog.io/@panther222128/UIPreviewActionItem
뷰에서 상호작용 API를 사용해 앱으로 드래그 앤 드롭 기능을 가져옵니다.
https://developer.apple.com/documentation/uikit/drag_and_drop
https://velog.io/@panther222128/Drag-and-Drop
커스텀 컨트롤 및 뷰에서 포인터 상호작용을 지원합니다.
https://developer.apple.com/documentation/uikit/pointer_interactions
https://velog.io/@panther222128/Pointer-Interactions
애플 펜슬을 사용해 더블 탭 사용자 상호작용을 처리합니다.
https://developer.apple.com/documentation/uikit/pencil_interactions
https://velog.io/@panther222128/Pencil-Interactions
원격, 게임 컨트롤러, 키보드를 사용해 UIKit 앱의 인터페이스를 탐색합니다.
https://developer.apple.com/documentation/uikit/focus-based_navigation
https://velog.io/@panther222128/Focus-Based-Navigation
메뉴 시스템, contextual 메뉴, 홈 스크린 퀵 액션, 키보드 단축키를 사용해 앱과의 상호작용을 단순화합니다.
https://developer.apple.com/documentation/uikit/menus_and_shortcuts
https://velog.io/@panther222128/Menus-and-Shortcuts
UIKit 앱을 iOS 및 tvOS를 사용하는 모두에게 접근 가능한 형태로 만듭니다.
https://developer.apple.com/documentation/uikit/accessibility_for_uikit
https://velog.io/@panther222128/Accessibility-for-UIKit