[iOS] Storyboard Component & AutoLayout

Mei·2022년 9월 22일
0

iOS

목록 보기
2/2

Storyboard

iOS 어플리케이션의 UI 흐름을 시각적으로 표현한 것으로 화면의 내용과 화면과 화면간의 연결을 보여준다

  • Storyboard는 ViewController와 View로 이루어진 Scene의 집합으로 이루어졌다.
  • Scene들은 두 개의 ViewController의 전환을 나타내는 segue 객체로 연결 되어있다.

UIComponent

프론트엔드에서 작동하는 다양한 컴포넌트들을 묶어 직접 구현하지 않아도 바로 사용할 수 있도록 제공하는 라이브러리

Label

UILabel 한 줄 이상의 텍스트를 보여주는 오브젝트

Button

UIButton 사용자 상호 작용으로 액션을 취할 수 있는 오브젝트

Segmented Control

UISegmentedControl 하나 이상의 선택지를 제공하는 가로형 제어기. 각 세그먼트는 개별 버튼으로 작동한다

Text Field

UITextField 사용자에게 텍스트 값을 입력받을 수 있도록 텍스트 영역을 표시하는 오브젝트

Slider

UISlider 연속된 값 중에서 특정 값을 선택하는데 사용되는 제어 오브젝트

Switch

UISwitch 두 가지 선택지를 제공하는 오브젝트

Activity Indicator View

UIActivityIndicatorView 작업이 진행 중임을 나타내주는 오브젝트

Progress View

UIProgressView 작업 진행 상황을 바 형식으로 보여주는 오브젝트

Page Control

UIPageControl 열려있는 화면들의 갯수를 수평으로 연속된 점들로 표현하는 오브젝트

Stepper

UIStepper 값의 증감을 제어하는 오브젝트. 증가되는 값을 표시하기 위해 종종 Label이나 Text Field와 결합한다

Color Well

UIColorWell 색상 선택기를 표시하는 오브젝트

Paste Control

UIPasteControl 사용자가 클립보드에 저장된 값을 붙여넣기 위해 탭하는 버튼

Horizontal Stack View

UIStackView 뷰의 수평 또는 수직 스택을 생성하는 데 필요한 제약 조건을 생성하고 관리하는 오브젝트 Axis: Horizontal

Vertical Stack View

UIStackView 뷰의 수평 또는 수직 스택을 생성하는 데 필요한 제약 조건을 생성하고 관리하는 오브젝트 Axis: Vertical

Table View

UITableView 스크롤 가능한 행 목록을 표시하기 위한 테이블 형식의 뷰

Table View Cell

UITableViewCell 테이블에서 단일 행을 보여주는 오브젝트. Table View에서 셀의 속성 및 동작을 정의한다

Image View

UIImageView 이미지 또는 일련의 이미지를 애니메이션으로 표시하는 오브젝트

Collection View

UICollectionView 데이터 항목의 정렬된 컬렉션을 관리하고 유연하고 변경 가능한 레이아웃을 사용하여 표시하는 오브젝트

Collection View Cell

UICollectionViewCell Collectioin View를 이루는 하나의 셀을 나타내는 단일 View

Collection Reusable View

UICollectionReusableView Collection View에서 재사용 가능한 View의 특성 및 동작을 정의한다

Text View

UITextView 스크롤 가능한 여러 줄의 텍스트 영역

💡 Text Field와 Text View의 차이점

  • Text Field는 한 줄로만 작성 가능
  • Text View는 여러줄로 작성 가능하고 텍스트가 길어지면 자동으로 스크롤 기능을 제공

Scroll View

UIScrollView Scroll View 안에 포함된 View의 스크롤 및 확대/축소를 허용하는 View

Date Picker

UIDatePicker 날짜 및 시간 값을 입력하기 위한 제어 오브젝트

Picker View

UIPickerView 돌아가는 휠이나 슬롯머신을 사용하여 하나 이상의 값 집합을 표시하는 View

Visual Effect View with Blur

UIVisualEffectView 배경의 흐림을 구현하는 View

Visual Effect Views with Blur and Vibrancy

UIVisualEffectView 배경의 흐림과 함께 색상을 증폭하고 조정하는 View

Map Kit View

MKMapView 지도 앱이 제공하는 것과 유사한 삽입 가능한 지도 인터페이스

MetalKit View

MTKView Metal 오브젝트를 생성, 구성 및 표시하는 특수한 View. Metal을 사용하여 그래픽을 렌더링하고 화면에 표시하는 데 사용할 수 있는 Metal-aware 뷰의 기본 구현을 제공한다 (Metal은 애플이 개발한 그래픽 라이브러리)

GLKit View

GLKView OpenGL ES를 사용하여 콘텐츠를 그리는 View. 사용자를 대신하여 프레임 버퍼 오브젝트를 직접 관리하여 OpenGL ES 응용 프로그램을 만드는 데 필요한 노력을 단순화한다

SceneKit View

SCNView SceneKit 프레임워크를 사용하여 3D 콘텐츠를 그리는 View

SpriteKit View

SKView SpriteKit 프레임워크를 사용하여 2D 장면을 렌더링하는 View

ARKit SceneKit View

ARSCNView SceneKit 프레임워크를 사용하여 가상 3D 콘텐츠를 증강 현실에 혼합하는 View

ARKit SpriteKit View

ARSKView SpriteKit 프레임워크를 사용하여 가상 2D 콘텐츠를 증강 현실의 3D 공간에 혼합하는 View

Web View

UIWebView 앱에 웹 콘텐츠를 포함하는 View

WebKit View

WKWebView 인앱 브라우저와 같은 대화형 웹 콘텐츠를 표시하는 View (Web View 대체)

RealityKit AR View

ARView RealityKit 프레임워크를 사용하여 AR 그래픽을 표시하는 View

Room Capture View

RoomCaptureView 사용자가 기기의 카메라로 방을 스캔할 수 있는 View

Core Location Button

CLLocationButton 일회성 위치 인증을 부여하는 버튼

View

UIView 화면의 직사각형 영역에 대한 내용을 관리하는 오브젝트

Container View

UIContainerView 자식 뷰 컨트롤러를 호스트할 뷰 컨트롤러의 뷰 계층 내 영역을 정의한다

UINavigationBar 일반적으로 Navigation Controller와 함께 화면 상단을 따라 표시되는 막대 바

UINavigationItem Navigation Bar에 보이는 아이템

Toolbar

UIToolbar Title bar 아래에 표시되거나 통합된 도구 모음

Bar Button Item

UIBarButtonItem Toolbar, Navigation Bar 또는 Shortcuts Bar에 배치하기 위한 특수 버튼

Bar Button Item Group

UIBarButtonItemGroup Navigation Bar 또는 Shortcuts Bar에 배치하기 위한 하나 이상의 Bar Button Item 그룹

Fixed Space Bar Button Item

UIBarButtonItem 인접한 toolbar item을 고정된 구간으로 구분한다

Flexible Space Bar Button Item

UIBarButtonItem 인접한 toolbar item을 유연한 공간으로 구분한다

Tab Bar

UITabBar 앱에서 View, 하위 작업 또는 모드를 선택하는 막대 바

Tab Bar Item

UITabBarItem 탭 표시줄의 항목을 나타내는 오브젝트

UISearchBar 사용자로부터 검색 관련 정보를 수신하기 위한 특수한 View

UICommand selector에서 해당 액션을 수행하는 메뉴 요소

UIMenu macOS의 메인 메뉴

UIMenu 메뉴의 하위 항목을 표시하도록 구성된 메뉴

Inline Section Menu

UIMenu separator를 사용하여 자식 항목을 인라인으로 표시하도록 설정된 메뉴

View Controller

UIViewController 하나의 View를 관리하는 오브젝트

Storyborad Reference

UIViewController 나뉜 스토리보드를 연결해주는 메타데이터. 스토리보드 참조를 통해 스토리보드를 여러 파일로 팩토링할 수 있다

UINavigationController 내비게이션 스택을 사용하여 View Controller를 관리하는 Container View Controller

Table View Controller

UITableViewController Table View를 관리하는 데에 특화된 View Controller

Collection View Controller

UICollectionViewController Collection View를 관리하는 데에 특화된 View Controller

Tab Bar Controller

UITabBarController 다중 선택 인터페이스를 관리하는 Container View Controller로, 선택 항목에 따라 표시할 Child View Controller가 결정된다

Split View Controller

UISplitViewController 계층적 인터페이스를 구현하는 Container View Controller

Page View Controller

UIPageViewController Child View Controller가 각 페이지를 관리하는 콘텐츠 페이지 간 탐색을 관리하는 Container View Controller

Hosting View Controller

UIHostingController Swift UI View의 계층을 관리하는 UIKit View Controller

GLKit View Controller

GLKViewController OpenGL ES 렌더링 루프를 관리하는 View Controller

AVKit Player View Controller

AVPlayerViewController 플레이어의 콘텐츠를 표시하고 재생을 제어하는 기본 사용자 인터페이스를 제공하는 View Controller

Object

NSObject 사용자 정의 클래스 inspector를 사용하여 이 개체를 특정 클래스의 instance로 변환한다

Tap Gesture Recognizer

UITapGestureRecognizer 단일 또는 다중 탭을 해석한며 사용자가 탭하면 작업 메시지를 보낸다

Pinch Gesture Recognizer

UIPinchGestureRecognizer 콘텐츠를 확대 축소하는데 사용하며 사용자가 두 손가락으로 pinch를 하는 동안 작업 메시지를 보낸다

Rotation Gesture Recognizer

UIRotationGestureRecognizer 콘텐츠를 회전하는데 사용되는 경우가 많으며 사용자가 두 손가락으로 회전하는 동안 작업 메시지를 계속 보낸다

Swipe Gesture Recognizer

UISwipeGestureRecognizer 한 방향으로 한번 또는 여러번 터치할 수 있도록 구성되어 있으며 사용자가 스와이프 할때 작업 메시지를 보낸다

Pan Gesture Recognizer

UIPanGestureRecognizer 사용자가 드래그 하는 동안 작업 메시지를 계속 보낸다

Screen Edge Pan Gesture Recognizer

UIScreenEdgePanGestureRecognizer 사용자가 화면 가장자리에서 드래그 하는 동안 작업 메시지를 보낸다

Long Press Gesture Recognizer

UILongPressGestureRecognizer 사용자가 길게 누르는 동안 계속해서 작업 메시지를 보낸다

Custom Gesture Recognizer

UIGestureRecognizer 사용자가 사용자 지정 제스처를 수행할 때 작업 메시지를 보낸다


AutoLayout이란?

디바이스 View 사이즈의 제약 조건(Constraints)을 기반으로 하여 위치와 사이즈가 동적으로 조절되도록 하는 Layout System이다

외부 변경 External Changes

슈퍼 뷰의 크기나 모양이 변경될 때 발생한다

  • 사용자가 창 크기를 조정할 때 (OS X)
  • 사용자가 iPad(iOS)에서 Split View를 시작하거나 종료할 때
  • 기기가 회전할 때 (iOS)
  • 활성 통화 및 오디오 녹음 막대가 나타나거나 사라질 때(iOS)
  • 다양한 크기의 클래스를 지원하려고 할 때
  • 다양한 화면 크기를 지원하려고 할 때

내부 변경 Internal Changes

인터페이스 뷰의 크기나 설정이 변경될 때 발생한다

  • 앱에서 표시하는 콘텐츠가 변경될 때
  • 앱이 국제화를 지원할 때
  • 앱이 동적 타입(iOS)을 지원할 때

안전 영역 Safe Area

앱이 상태바, 네비게이션바, 툴바, 탭바를 가리는 것을 방지하는 영역. 표준 시스템이 제공하는 뷰들은 모두 안전 영역을 준수하고 있다

제약 Constraints

뷰 스스로 또는 뷰 사이의 관계를 속성을 통하여 정의한다. 제약은 방정식으로 나타낼 수 있다

First Item

현재 제약을 걸어 둔 오브젝트

Relation


Equal Constant 값과 동일한 거리로 계산
Less Than or Equal Constant 값과 같거나 가까운 거리로 계산
Greater Than or Equal Constant 값과 같거나 먼 거리로 계산

Second Item

제약을 걸어 둔 두번째 오브젝트

Constant

제약 값

Priority

오브젝트에 걸어둔 제약의 우선순위

Required (1000) 필수
High (750) 높음
Low (250) 낮음

Multiplier

Constant값이 양수라는 가정 하에 Constant 값의 배를 곱한다

Reverse Multiplier First Item과 Second Item의 기준을 바꾸어 배를 곱한다
Convert To Decimal 비율로 표현된 값을 십진수로 바꿔준다

profile
서울여자대학교 디지털미디어학과 iOS Dev

0개의 댓글