Touches, Presses, and Gestures

Panther·2021년 7월 30일
0

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."

제스쳐 리코그나이저에 있는 앱의 이벤트 처리 로직을 캡슐화함으로써 앱에서 해당 코드를 재사용할 수 있게 합니다.

Overview

표준 UIKit 뷰와 컨트롤을 사용해 앱을 빌드하고 있다면, UIKit은 자동으로 터치 이벤트(멀티 터치 포함)을 자동으로 처리합니다. 그러나 컨텐트를 보여주기 위한 커스텀 뷰를 사용하는 경우 뷰에서 발생하는 터치 이벤트 모두는 직접 처리해야 합니다. 터치 이벤트를 직접 처리하는 방법은 두 가지가 있습니다.

  • 터치를 추적하기 위해 제스쳐 리코그나이저를 사용합니다. Handling UIKit Gestures를 보시기 바랍니다.
  • 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

Topics


First Steps

Using Responders and the Responder Chain to Handle Events

앱을 통해 전개되는 이벤트를 어떻게 다루는지 학습하게 되는 자료입니다.

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

UIResponder

이벤트에 응답하고 이벤트를 다룰 수 있는 추상 인터페이스입니다.

https://developer.apple.com/documentation/uikit/uiresponder
https://velog.io/@panther222128/UIApplication-and-App-Delegate

UIEvent

앱과의 단일 사용자 상호작용을 설명하는 객체입니다.

https://developer.apple.com/documentation/uikit/uievent
https://velog.io/@panther222128/UIEvent


Touches

Handling Touches in Your View

뷰의 컨텐트에 터치 처리가 복잡하게 연결되어 있는 경우 뷰 서브클래스에서 직접 터치 이벤트를 사용합니다.

https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_touches_in_your_view
https://velog.io/@panther222128/Handling-Touches-in-Your-View

Handling Input from Apple Pencil

애플 펜슬로부터 발생한 터치를 감지하고 이에 응답하는 방법을 알아봅니다.

https://developer.apple.com/documentation/uikit/pencil_interactions/handling_input_from_apple_pencil
https://velog.io/@panther222128/Handling-Input-from-Apple-Pencil

Tracking the Force of 3D Touch Events

터치의 압력에 기반해 컨텐트를 조작합니다.

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

UITouch

화면에서 발생하는 터치의 위치, 크기, 움직음, 압력을 나타내는 객체입니다.

https://developer.apple.com/documentation/uikit/uitouch
https://velog.io/@panther222128/UITouch


Button Presses

UIPress

스크린에서 특정 이벤트에 대한 버튼 누르기의 존재 혹은 움직임을 나타내는 객체입니다.

https://developer.apple.com/documentation/uikit/uipress
https://velog.io/@panther222128/UIPress

UIPressesEvent

기기에서 사용 가능한 물리적 버튼 상태의 집합을 설명하는 이벤트로, 기기는 리모트 혹은 게임 컨트롤러에 관련이 있는 것들입니다.

https://developer.apple.com/documentation/uikit/uipressesevent
https://velog.io/@panther222128/UIPressesEvent


Standard Gestures

Coordinating Multiple Gesture Recognizers

같은 뷰에서 다중 제스쳐 리코그나이저를 사용하는 방법을 알아봅니다.

https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/coordinating_multiple_gesture_recognizers
https://velog.io/@panther222128/Coordinating-Multiple-Gesture-Recognizers

UIHoverGestureRecognizer

뷰에 대한 포인터 움직임을 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uihovergesturerecognizer
https://velog.io/@panther222128/UIHoverGestureRecognizer

UILongPressGestureRecognizer

long-press 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uilongpressgesturerecognizer
https://velog.io/@panther222128/UILongPressGestureRecognizer

UIPanGestureRecognizer

팬 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uipangesturerecognizer
https://velog.io/@panther222128/UIPanGestureRecognizer

UIPinchGestureRecognizer

두 터치로 이뤄지는 핀치 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uipinchgesturerecognizer
https://velog.io/@panther222128/UIPinchGestureRecognizer

UIRotationGestureRecognizer

두 손가락으로 하는 회전 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uirotationgesturerecognizer
https://velog.io/@panther222128/UIRotationGestureRecognizer

UIScreenEdgePanGestureRecognizer

스크린의 모서리 근처에서 시작한 팬 제스쳐를 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uiscreenedgepangesturerecognizer
https://velog.io/@panther222128/UIScreenEdgePanGestureRecognizer

UISwipeGestureRecognizer

하나 혹은 하나 이상의 방향에서 스와이프 제스쳐를 해석하는 이산적 제스쳐리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uiswipegesturerecognizer
https://velog.io/@panther222128/UISwipeGestureRecognizer

UITapGestureRecognizer

단일 혹은 다중 탭을 해석하는 이산적 제스쳐 리코그나이저입니다.

https://developer.apple.com/documentation/uikit/uitapgesturerecognizer
https://velog.io/@panther222128/UITapGestureRecognizer


Custom Gestures

Implementing a Custom Gesture Recognizer

고유한 제스쳐 리코그나이저를 빌드하는 적합한 때와 방법에 대해 알아봅니다.

https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/implementing_a_custom_gesture_recognizer
https://velog.io/@panther222128/Implementing-a-Custom-Gesture-Recognizer

UIGestureRecognizer

구체화된 제스쳐 리코그나이저들의 베이스 클래스입니다.

https://developer.apple.com/documentation/uikit/uigesturerecognizer
https://velog.io/@panther222128/UIGestureRecognizer

UIGestureRecognizerDelegate

앱의 제스쳐 인식 동작을 정밀하게 조정하기 위한 제스쳐 리코그나이저의 딜리게이트에 의해 구현된 메소드 집합입니다.

https://developer.apple.com/documentation/uikit/uigesturerecognizerdelegate
https://velog.io/@panther222128/UIGestureRecognizerDelegate


3D Touch Interactions

UIPreviewInteraction

3D 터치 상호작용에 반응하는 커스텀 사용자 경험을 제공하기 위해 뷰를 등록하는 클래스입니다.

https://developer.apple.com/documentation/uikit/uipreviewinteraction
https://velog.io/@panther222128/UIPreviewInteraction

UIPreviewInteractionDelegate

프리뷰 상호작용의 진행상황을 소통하기 위한 메소드의 집합입니다.

https://developer.apple.com/documentation/uikit/uipreviewinteractiondelegate
https://velog.io/@panther222128/UIPreviewInteractionDelegate

UIPreviewActionItem

peek quick action 및 peek quick action 그룹에 적용할 수 있는 스타일들 및 peek quick action의 사용자 시각화 제목에 대한 읽기 전용 접근자를 정의하는 메소드 집합입니다.

https://developer.apple.com/documentation/uikit/uipreviewactionitem
https://velog.io/@panther222128/UIPreviewActionItem


See Also


User Interactions

Drag and Drop

뷰에서 상호작용 API를 사용해 앱으로 드래그 앤 드롭 기능을 가져옵니다.

https://developer.apple.com/documentation/uikit/drag_and_drop
https://velog.io/@panther222128/Drag-and-Drop

Pointer Interactions

커스텀 컨트롤 및 뷰에서 포인터 상호작용을 지원합니다.

https://developer.apple.com/documentation/uikit/pointer_interactions
https://velog.io/@panther222128/Pointer-Interactions

Pencil Interactions

애플 펜슬을 사용해 더블 탭 사용자 상호작용을 처리합니다.

https://developer.apple.com/documentation/uikit/pencil_interactions
https://velog.io/@panther222128/Pencil-Interactions

Focus-Based Navigation

원격, 게임 컨트롤러, 키보드를 사용해 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

Accessibility for UIKit

UIKit 앱을 iOS 및 tvOS를 사용하는 모두에게 접근 가능한 형태로 만듭니다.

https://developer.apple.com/documentation/uikit/accessibility_for_uikit
https://velog.io/@panther222128/Accessibility-for-UIKit


0개의 댓글