iOS/UIKit3 [UIKit] UIResponder + Responder chain 흐름 앱에서 터치 입력과 같은 유저 인터랙션을 처리하기 위해서 이 이벤트를 감지하고, 적절하게 처리할 방법을 찾는 것이 중요하다. UIKit에서는 이런 이벤트를 UIResponder 객체가 처리한다.UIResponder와 UIEvent개발자 문서에서 UIResponder는 '이벤트에 응답하고 처리하기 위한 추상 인터페이스'로 소개한다. 그렇다면 이벤트가 뭘까? UIKit에서 이벤트는 UIEvent 라는 클래스로 표현된다. 마찬가지로 개발자 문서에서 UIEvent는 '앱에서 단일 유저 인터랙션을 설명하기 위한 객체'로 소개된다.가장 쉽게 볼 수 있는 리스폰더는 바로 UIView 객체이다. UIView가 UIResponder를 서브클래싱 한 클래스이기 때문에, 자연스럽게 모든 UIView는 리스폰더가 된다. UI.. 2025. 7. 21. [UIKit] UIStackView 레이아웃 스택 뷰는 여러 뷰들을 묶어주는 컨테이너 뷰다. 스택 뷰 내부에 서브 뷰를 추가하는 방식으로 스택 뷰를 구성할 수 있다.스택 뷰 내부의 서브 뷰들은 기기의 상태(회전 방향, 스크린 크기 등)와 스택 뷰의 axis, alignment, distribution, spacing 프로퍼티를 기반으로 자동으로 레이아웃이 결정된다.intrinsicContentSize서브 뷰와 스택 뷰의 레이아웃이 어떻게 결정되는지 이해하려면 intrinsicContentSize에 대한 이해가 필요하다.공식 문서에서는 ‘뷰 자체의 속성만을 고려한, 뷰가 자연스럽게 가지는 크기’ 라고 설명되어 있다. 가장 간단한 UILabel의 예시를 보자.UILabel은 따로 제약조건을 설정하지 않는 이상 내부 텍스트의 길이에 따라서 뷰의 크기가 .. 2025. 7. 17. [UIKit] UIView와 CALayer 사용하기 개발자 문서에 적혀있는 UIView의 역할은 '화면의 직사각형 영역의 콘텐츠를 관리하는 객체' 이다.화면의 사각형 영역을 나타내며, 내부에 다른 뷰를 포함할 수 있다. 대부분의 UI 요소가 UIView를 상속받는다.콘텐츠를 화면에 나타내고, 사용자의 터치나 제스처를 감지한다.UIView로 콘텐츠 표시하기UIView는 UIKit에서 제공하는 메소드 혹은 Core Graphics를 직접 이용해서 직사각형 영역에 콘텐츠를 그릴 수 있다. 배경 색만 존재하는 간단한 UIView를 그려보자.var magentaRectView: UIView = { let magentaRectView = UIView() magentaRectView.backgroundColor = .magenta return mage.. 2025. 7. 17. 이전 1 다음