728x90
UIResponder
- 사용자의 event들을 핸들링하는 추상 인터페이스
- UIResponder를 상속받으면 touchesBegan, touchesMoved, touchesEnd 등의 메소드를 오버라이드해서 사용자 이벤트를 수신했을 때의 처리를 할 수 있다.
- 이벤트의 종류는 터치, press, 모션, 원격 조종 등이 있다.
- 또한 Responder Chain을 통해 event들을 핸들링할 수 있는 곳까지 포워딩하는 역할을 한다.
- UIView, UIApplication, UIViewController 모두 UIResponder를 상속받는다.
Responder Chain
- 아래 그림과 같은 계층 구조를 가진 화면에서 UILabel, UITextField, UIButton이 가장 먼저 event를 수신하는 firstResponder가 된다.
- 해당 컴포넌트들이 event를 핸들링하지 않는다면 그들의 부모인 UIView로 넘긴다.
- 해당 UIView 또한 핸들링하지 않는다면 UIViewController로 넘기게 된다.
- 그 다음은 UIWindow, 최종적으로는 UIApplication으로 넘기게 된다.
728x90
'iOS > 설명' 카테고리의 다른 글
[iOS] StoryBoard를 사용하지 않는 경우 (0) | 2022.01.22 |
---|---|
[iOS] JSON String을 Dictionary로 변환 (0) | 2022.01.08 |
[iOS] Provisioning Profile, Certificate, Code signing (0) | 2021.12.19 |
[iOS] Class의 instance를 String으로 생성하기 (0) | 2021.12.10 |
[iOS] CALayer의 anchorPoint, position (0) | 2021.12.08 |
댓글