본문 바로가기

Responder Chain

(5)
UIResponder UIResponder 란? 이벤트에 응답하고 이벤트를 처리하기 위한 추상 인터페이스 UIResponder의 인스턴스(응답자 개체)는 UIKit 앱의 이벤트 처리 근간을 구성 UIApplication / UIViewController / UIWindow를 포함한 UIView 이러한 주요 개체들 또한 응답자임 Responder 개체의 역할 1️⃣ 이벤트가 발생 시 UIKit은 처리를 위해 앱의 Responder 개체에 이벤트를 전달 이벤트란 터치, 모션, 원격 제어, 프레스 등 다양한 것이 존재 특정 이벤트를 처리하려면 응답자가 해당 메서드를 override 해야 함 ex) 터치 이벤트를 처리하고자 할 때 → 응답자는 UIKit에서 제공하는 터치 이벤트를 사용 → 터치에 대한 변경 내용을 추적하고 앱의 인터..
Gesture Recognizer 예시 코드 > 관련글 https://serena-diary.tistory.com/entry/Responder-Chain TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu ..
UIEvent TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Haitian Creol..
Responder Chain Responder Chain 앱에서 Responder 객체를 사용하여 이벤트 수신 및 처리 Responder 객체는 UIResponder 클래스의 인스턴스이며 일반적인 하위 클래스에는 UIView, UIViewController 및 UIApplication이 포함 Responder는 raw 이벤트 데이터를 수신, 이를 처리해서 다른 Responder 객체로 전달해야함 → UIKit에서 first Responder로 전달 처리되지 않은 이벤트는 dynamic 구성인 Active Responder Chain을 통해 다른 Responder 객체로 전달 된다→ 마지막까지 처리되지 않은 경우 이벤트 메세지를 폐기 → dynamic 구성인 Active Responder Chain: 구성이 바뀔 수 있다 Respon..
Touch Event Touch Event 이벤트 메소드를 앱 전역에서 재사용 가능하게 Gesture Recognizer에 캡슐화 UIKit Touch Event는 내부적으로 자동 구현되어있다 하지만 Custom View를 사용 시 모든 Touch Event는 처리해줘야함 방법 1. Gesture Recognizer 사용 방법 2. UIView 하위 클래스에서 직접 터치 추적 아래의 메소드로 사용 가능 touchCanceled - 시스템에서 진행 중인 터치를 중단(ex. 전화 온 경우) / 지정한 Gesture가 동작이 끝난 경우에도뜬다 터치 하나가 하나의 UITouch 객체 손가락이 2개가 터치가 되어도 default는 하나 → isMultipleTouchEnabled = true로 추가 터치를 받을 수 있다

728x90