UIKit
내부에 존재하는 모든 시각적 요소를 다루는 class
UILabel
, UIImageView
등 여러 subclass들로 구성되어있다.
화면은 여러 view의 겹으로 구성되어 있다.
child view: view 내부에 속해있는 view
parent view: 하나 이상의 view를 포함하고 있는 view
ex) table view - parent view, table 내부 cell - child view
default background color
흰색: Interface Builder에서 view를 추가할 경우
투명: code를 통해 view를 생성할 경우
view의 크기보다 더 큰 내용물을 저장할 수 있다. (일반적으로, 기기의 화면 크기보다 더 큰 정보를 저장할 때 쓰인다.)
가로 또는 세로의 스크롤을 통해 사용자가 상호작용한다.
주로 화면의 하단에 위치하며, bar button item이라 불리는 한개 이상의 버튼이 존재한다.
주어진 view 내부에서 도구, 행동을 선택할 수 있다.
주로 화면의 상단에 위치하며, 앱의 주요 내용을 표현한다.
뒤로가는 버튼이 존재한다.
간편하게 앱의 다른 view들로 이동할 수 있게 해준다.
주로 tab bar controller와 함께 사용한다.
view controller는 tab bar에 보여지는 텍스트와 이미지를 정의하는 UITabBarItem
property를 갖고 있다.
스토리보드를 통해 tab bar controller의 viewControllers
property와 UITabBarItem
property를 서로 연결해준다.
UIKit
내부에 존재하는 control class
UIButton
, UITextField
등 여러 subclass들로 구성되어있다.
사용자가 control을 이용하여 상호작용을 하면, 해당 control의 control event가 호출된다.
Interface Builder에서 control을 세팅한 후, @IBAction
을 통해 구체적인 control event를 정의한다.
보통 Primary Action Triggered(UIControl.Event.primaryActionTriggered
) control event를 사용한다.
버튼을 터치하면 control event가 발생한다.
버튼을 터치하는 다양한 단계에서 event가 수행될 수 있다.
여러개의 segment의 수평 집합이다.
각 segment는 사용자에게 제한된 선택지를 보여준다.
ex) 지도 어플은 지도, 로드뷰, 위성지도로 3가지 화면 모드를 허용한다.
선택된 segment가 바뀔 때마다 event가 호출된다.
한줄의 간단한 텍스트의 입력을 지원한다.
사용자에게 입력값을 얻어 해당 입력값에 따라 코드를 수행한다.
사용자가 'Return', 'Done'버튼을 누르거나 텍스트를 수정할 때 event가 호출된다.
볼륨, 화면 밝기 등 값을 시작값으로부터 슬라이더를 움직이며 최소값과 최댓값 사이에서 연속적으로 값을 변화시킨다.
슬라이더의 값이 변경될 때마다 event가 호촐된다.
설정 앱 등에서 옵션을 키거나 끄는데에 사용된다.
스위치의 값이 변경될 때마다 event가 호출된다.
날짜와 시간을 효율적으로 선택할 수 있도록 한다.
선택된 날짜 또는 시간 값이 변경될 때마다 event가 호출된다.
UIKit
내부의 view를 제어하는 class
child view 세팅
view의 화면을 제어
사용자의 상호작용에 대한 반응 등
ViewController
UIViewController
의 subclass
storyboard의 화면과 각각 연결되어 각자의 화면을 제어한다.
내부의 view
property는 storyboard 화면의 parent view를 뜻하는 UIView
의 인스턴스이다.