^https://devmjun.github.io/archive/UITouch_Event^
[Swift. 터치와 제스쳐를 알아보자
devmjun.github.io](https://devmjun.github.io/archive/UITouch_Event)
앱은 레스폰더객체를 사용하여 이벤트를 수신하고 처리한다.
레스폰더객체는 UIResponder 클래스의 모든 인스턴스를 의미한다.
일반적으로 UIView, UIViewController, UIApplication이 하위클래스로 포함된다.
레스폰더가 처리되지않은 이벤트 데이터를 수신하면 이벤트를 처리하거나 다른 레스폰더객체에게 전달해야한다.
앱이 이벤트를 수신할 때, UIKit은 자동적으로 그 이벤트를 첫 번째 레스폰더로 알려진 가장 적절한 레스폰더 객체로 유도한다.
처리되지 않은 이벤트는 레스폰더에서 활성 레스폰더 체인의 레스폰더로 전달되며, 이것은 앱의 레스폰더 객체의 동적 구성이다.
아래의 다이어그램은 이벤트가 어떻게 레스폰더 체인을 따라 레스폰더 객체에서 다음 레스폰더 객체로 움직이는지 보여준다.
이벤트의 첫 번째 레스폰더 결정
UIKit은 해당 이벤트 유형을 기반으로 한 이벤트에 대한 첫 번째 레스폰더로 객체를 지정한다.
Event type
First responder
Touch events
터치이벤트가 발생한 뷰
press events
포커스된 객체
Shake-motion, Remote-control, Edting menu events
사용자 지정
가속도계, 자이로 스코프 및 자력계와 관련된 동작 이벤트는 응답 체인을 따르지 않는다.
대신 Core Motion은 해당 이벤트를 지정된 객체로 직접 전달한다.
댓글