iOS/Developer Documentation

[UIKit] UIEvent Documentation, UIEvent 개발문서 번역

Joo-Topia 2020. 12. 26. 20:54

UIEvent

앱과 단일 사용자의 인터랙션(상호작용)을 묘사(설명? describes)하는 객체

Declaration

class UIEvent : NSObject

Overview

앱은 터치 이벤트, 모션 이벤트, 원격 제어 이벤트(remote-control), 그리고 프레스 이벤트(press) 등 다양한 유형의 이벤트를 수신할 수 있다. 터치 이벤트는 가장 일반적인 이벤트로, 처음 터치가 발생한 뷰로 전달이 된다. 모션 이벤트는 UIKit 에서 트리거된 모션 이벤트 이고, 코어 모션 프레임워크에서 리포트된 모션 이벤트와는 별개의 이벤트이다. 원격 제어 이벤트를 통해 리스폰드의 객체가 외부 액세서리 또는 헤드셋에서 명령을 수신하여 오디오 및 비디오를 관리할 수 있다. - 예를 들어, 비디오를 재생하거나 다음 오디오 트랙으로 스팁하는 경우가 있다. 프레스 이벤트느 게임 컨트롤러, AppleTV 리모턴 또는 물리적 버튼이 있는 기타 장치와의 인터랙션을 나타낸다. 너는 타입서브 타입의 프로퍼티들을 사용하여 어떤 이벤트 유형인지 알아낼 수 있다.

터치 이베트 객체에는 이벤트와 관련된 터치(다시말해 화면 위의 손가락)가 포함되어 있다. 터치 이벤트 객체에는 하나 이상의 터치가 포함될 수 있으며, 각 터치를 UITouch 객체로 나타낸다. 터치 이벤트가 발생하면 시스템은 이를 적절한 리스폰더*로 라우팅하고 touchBegan(_: with:)과 같은 적절한 메소드를 호출한다. 그 후에 리스폰더는 터치로 적절한 행동 방침을 알아낸다(결정한다?).

*리스폰더라는 용어가 자주 나오는데 다음 해석은 UIResponder로 진행해 볼 예정이다.

멀티터치 시퀀스 동안 UIKIt은 업데이트된 터치 데이터를 앱에 전달할 때 동일한 UI 이벤트 객체를 재사용한다. 너느 이벤트 객체 또는 이벤트 객체에서 반환된 객체를 유지(참조) 헤서는 안된다. 데이터를 처리해야하는 리스폰더 메소드* 이외의 방법으로 데이터를 보존해야하는 경우 해당 데이터를 UITouch 또는 UIEvent 객체에서 로컬 데이터 구조로 복사해야한다.

*touchBegan(_: with:)와 같은 메소드를 지칭하는 것 같다.

UIKit 앱에서 이벤트 처리 방법에 대한 자세한 내용은 Event Handling Guide for UIKit Apps.
참조하면 된다.