UIEvent

Panther·2021년 8월 2일
0

https://developer.apple.com/documentation/uikit/uievent

"An object that describes a single user interaction with your app."

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

Declaration

@MainActor class UIEvent : NSObject

Overview

터치, 모션, 원격 컨트롤, 누르기 이벤트를 포함해 다양한 타입의 이벤트를 받을 수 있습니다. 터치 이벤트는 가장 일반적인 이벤트이며, 터치가 발생한 뷰에 전달됩니다. 모션 이벤트는 UIKit이 촉발하는 이벤트이며, 코어 모션 프레임워크에서 알려지는 모션 이벤트와 분리됩니다. 원격 컨트롤 이벤트는 리스폰더 객체가 외부 액세서리 혹은 헤드셋으로부터 명령을 받도록 함으로써 오디오와 비디오를 관리할 수 있도록 해줍니다. 예를 들어 비디오 재생 혹은 다음 오디오 트랙을 위해 스킵하는 것이 있습니다. 누르기 이벤트는 게임 컨트롤러, 애플TV 원격, 물리적 버튼을 갖는 기타 기기와의 상호작용을 나타냅니다. 타입과 서브타입 속성을 사용해 이벤트의 타입을 결정할 수 있습니다.

터치 이벤트는 이벤트와 관계를 갖는 터치(즉 스크린에 손가락)를 포함합니다. 터치 이벤트 객체는 하나 혹은 하나 이상의 터치를 포함할 것이고, 각 터치는 UITouch 객체로 나타납니다. 터치 이벤트가 발생하면, 시스템은 이를 적합한 리스폰더에 라우팅하고, touchesBegan(_:with:)와 같은 적합한 메소드를 호출할 것입니다. 이후 리스폰더는 액션의 적합한 코스를 결정하기 위해 터치를 사용합니다.

다중 터치 연속이 일어나는 동안, 앱에 업데이트된 터치 데이터를 전달할 때 UIKit은 같은 UIEvent를 재사용합니다. 이벤트 객체로부터 반환된 이벤트 객체 혹은 모든 객체를 보존하지 않아야 합니다. 만약 데이터를 처리하기 위해 리스폰더 메소드 바깥에 데이터를 보존할 필요가 있다면, UITouch 혹은 UIEvent 객체로부터 데이터를 복사해서 로컬 데이터 구조에 넣어야 합니다. UIKit 앱에서 이벤트를 처리하는 방법은 Event Handling Guide for UIKit Apps를 살펴보시기 바랍니다.

Event Handling Guide for UIKit Apps
https://developer.apple.com/documentation/uikit/#//apple_ref/doc/uid/TP40009541

See Also


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


0개의 댓글