iOS 어플리케이션의 UI 흐름을 시각적으로 표현한 것으로 화면의 내용과 화면과 화면간의 연결을 보여준다
프론트엔드에서 작동하는 다양한 컴포넌트들을 묶어 직접 구현하지 않아도 바로 사용할 수 있도록 제공하는 라이브러리
UILabel
한 줄 이상의 텍스트를 보여주는 오브젝트
UIButton
사용자 상호 작용으로 액션을 취할 수 있는 오브젝트
UISegmentedControl
하나 이상의 선택지를 제공하는 가로형 제어기. 각 세그먼트는 개별 버튼으로 작동한다
UITextField
사용자에게 텍스트 값을 입력받을 수 있도록 텍스트 영역을 표시하는 오브젝트
UISlider
연속된 값 중에서 특정 값을 선택하는데 사용되는 제어 오브젝트
UISwitch
두 가지 선택지를 제공하는 오브젝트
UIActivityIndicatorView
작업이 진행 중임을 나타내주는 오브젝트
UIProgressView
작업 진행 상황을 바 형식으로 보여주는 오브젝트
UIPageControl
열려있는 화면들의 갯수를 수평으로 연속된 점들로 표현하는 오브젝트
UIStepper
값의 증감을 제어하는 오브젝트. 증가되는 값을 표시하기 위해 종종 Label이나 Text Field와 결합한다
UIColorWell
색상 선택기를 표시하는 오브젝트
UIPasteControl
사용자가 클립보드에 저장된 값을 붙여넣기 위해 탭하는 버튼
UIStackView
뷰의 수평 또는 수직 스택을 생성하는 데 필요한 제약 조건을 생성하고 관리하는 오브젝트 Axis: Horizontal
UIStackView
뷰의 수평 또는 수직 스택을 생성하는 데 필요한 제약 조건을 생성하고 관리하는 오브젝트 Axis: Vertical
UITableView
스크롤 가능한 행 목록을 표시하기 위한 테이블 형식의 뷰
UITableViewCell
테이블에서 단일 행을 보여주는 오브젝트. Table View에서 셀의 속성 및 동작을 정의한다
UIImageView
이미지 또는 일련의 이미지를 애니메이션으로 표시하는 오브젝트
UICollectionView
데이터 항목의 정렬된 컬렉션을 관리하고 유연하고 변경 가능한 레이아웃을 사용하여 표시하는 오브젝트
UICollectionViewCell
Collectioin View를 이루는 하나의 셀을 나타내는 단일 View
UICollectionReusableView
Collection View에서 재사용 가능한 View의 특성 및 동작을 정의한다
UITextView
스크롤 가능한 여러 줄의 텍스트 영역
💡 Text Field와 Text View의 차이점
- Text Field는 한 줄로만 작성 가능
- Text View는 여러줄로 작성 가능하고 텍스트가 길어지면 자동으로 스크롤 기능을 제공
UIScrollView
Scroll View 안에 포함된 View의 스크롤 및 확대/축소를 허용하는 View
UIDatePicker
날짜 및 시간 값을 입력하기 위한 제어 오브젝트
UIPickerView
돌아가는 휠이나 슬롯머신을 사용하여 하나 이상의 값 집합을 표시하는 View
UIVisualEffectView
배경의 흐림을 구현하는 View
UIVisualEffectView
배경의 흐림과 함께 색상을 증폭하고 조정하는 View
MKMapView
지도 앱이 제공하는 것과 유사한 삽입 가능한 지도 인터페이스
MTKView
Metal 오브젝트를 생성, 구성 및 표시하는 특수한 View. Metal을 사용하여 그래픽을 렌더링하고 화면에 표시하는 데 사용할 수 있는 Metal-aware 뷰의 기본 구현을 제공한다 (Metal은 애플이 개발한 그래픽 라이브러리)
GLKView
OpenGL ES를 사용하여 콘텐츠를 그리는 View. 사용자를 대신하여 프레임 버퍼 오브젝트를 직접 관리하여 OpenGL ES 응용 프로그램을 만드는 데 필요한 노력을 단순화한다
SCNView
SceneKit 프레임워크를 사용하여 3D 콘텐츠를 그리는 View
SKView
SpriteKit 프레임워크를 사용하여 2D 장면을 렌더링하는 View
ARSCNView
SceneKit 프레임워크를 사용하여 가상 3D 콘텐츠를 증강 현실에 혼합하는 View
ARSKView
SpriteKit 프레임워크를 사용하여 가상 2D 콘텐츠를 증강 현실의 3D 공간에 혼합하는 View
UIWebView
앱에 웹 콘텐츠를 포함하는 View
WKWebView
인앱 브라우저와 같은 대화형 웹 콘텐츠를 표시하는 View (Web View 대체)
ARView
RealityKit 프레임워크를 사용하여 AR 그래픽을 표시하는 View
RoomCaptureView
사용자가 기기의 카메라로 방을 스캔할 수 있는 View
CLLocationButton
일회성 위치 인증을 부여하는 버튼
UIView
화면의 직사각형 영역에 대한 내용을 관리하는 오브젝트
UIContainerView
자식 뷰 컨트롤러를 호스트할 뷰 컨트롤러의 뷰 계층 내 영역을 정의한다
UINavigationBar
일반적으로 Navigation Controller와 함께 화면 상단을 따라 표시되는 막대 바
UINavigationItem
Navigation Bar에 보이는 아이템
UIToolbar
Title bar 아래에 표시되거나 통합된 도구 모음
UIBarButtonItem
Toolbar, Navigation Bar 또는 Shortcuts Bar에 배치하기 위한 특수 버튼
UIBarButtonItemGroup
Navigation Bar 또는 Shortcuts Bar에 배치하기 위한 하나 이상의 Bar Button Item 그룹
UIBarButtonItem
인접한 toolbar item을 고정된 구간으로 구분한다
UIBarButtonItem
인접한 toolbar item을 유연한 공간으로 구분한다
UITabBar
앱에서 View, 하위 작업 또는 모드를 선택하는 막대 바
UITabBarItem
탭 표시줄의 항목을 나타내는 오브젝트
UISearchBar
사용자로부터 검색 관련 정보를 수신하기 위한 특수한 View
UICommand
selector에서 해당 액션을 수행하는 메뉴 요소
UIMenu
macOS의 메인 메뉴
UIMenu
메뉴의 하위 항목을 표시하도록 구성된 메뉴
UIMenu
separator를 사용하여 자식 항목을 인라인으로 표시하도록 설정된 메뉴
UIViewController
하나의 View를 관리하는 오브젝트
UIViewController
나뉜 스토리보드를 연결해주는 메타데이터. 스토리보드 참조를 통해 스토리보드를 여러 파일로 팩토링할 수 있다
UINavigationController
내비게이션 스택을 사용하여 View Controller를 관리하는 Container View Controller
UITableViewController
Table View를 관리하는 데에 특화된 View Controller
UICollectionViewController
Collection View를 관리하는 데에 특화된 View Controller
UITabBarController
다중 선택 인터페이스를 관리하는 Container View Controller로, 선택 항목에 따라 표시할 Child View Controller가 결정된다
UISplitViewController
계층적 인터페이스를 구현하는 Container View Controller
UIPageViewController
Child View Controller가 각 페이지를 관리하는 콘텐츠 페이지 간 탐색을 관리하는 Container View Controller
UIHostingController
Swift UI View의 계층을 관리하는 UIKit View Controller
GLKViewController
OpenGL ES 렌더링 루프를 관리하는 View Controller
AVPlayerViewController
플레이어의 콘텐츠를 표시하고 재생을 제어하는 기본 사용자 인터페이스를 제공하는 View Controller
NSObject
사용자 정의 클래스 inspector를 사용하여 이 개체를 특정 클래스의 instance로 변환한다
UITapGestureRecognizer
단일 또는 다중 탭을 해석한며 사용자가 탭하면 작업 메시지를 보낸다
UIPinchGestureRecognizer
콘텐츠를 확대 축소하는데 사용하며 사용자가 두 손가락으로 pinch를 하는 동안 작업 메시지를 보낸다
UIRotationGestureRecognizer
콘텐츠를 회전하는데 사용되는 경우가 많으며 사용자가 두 손가락으로 회전하는 동안 작업 메시지를 계속 보낸다
UISwipeGestureRecognizer
한 방향으로 한번 또는 여러번 터치할 수 있도록 구성되어 있으며 사용자가 스와이프 할때 작업 메시지를 보낸다
UIPanGestureRecognizer
사용자가 드래그 하는 동안 작업 메시지를 계속 보낸다
UIScreenEdgePanGestureRecognizer
사용자가 화면 가장자리에서 드래그 하는 동안 작업 메시지를 보낸다
UILongPressGestureRecognizer
사용자가 길게 누르는 동안 계속해서 작업 메시지를 보낸다
UIGestureRecognizer
사용자가 사용자 지정 제스처를 수행할 때 작업 메시지를 보낸다
디바이스 View 사이즈의 제약 조건(Constraints)을 기반으로 하여 위치와 사이즈가 동적으로 조절되도록 하는 Layout System이다
슈퍼 뷰의 크기나 모양이 변경될 때 발생한다
인터페이스 뷰의 크기나 설정이 변경될 때 발생한다
앱이 상태바, 네비게이션바, 툴바, 탭바를 가리는 것을 방지하는 영역. 표준 시스템이 제공하는 뷰들은 모두 안전 영역을 준수하고 있다
뷰 스스로 또는 뷰 사이의 관계를 속성을 통하여 정의한다. 제약은 방정식으로 나타낼 수 있다
현재 제약을 걸어 둔 오브젝트
Equal
Constant 값과 동일한 거리로 계산
Less Than or Equal
Constant 값과 같거나 가까운 거리로 계산
Greater Than or Equal
Constant 값과 같거나 먼 거리로 계산
제약을 걸어 둔 두번째 오브젝트
제약 값
오브젝트에 걸어둔 제약의 우선순위
Required (1000)
필수
High (750)
높음
Low (250)
낮음
Constant값이 양수라는 가정 하에 Constant 값의 배를 곱한다
Reverse Multiplier
First Item과 Second Item의 기준을 바꾸어 배를 곱한다
Convert To Decimal
비율로 표현된 값을 십진수로 바꿔준다