[iOS/Swift] 스토리보드 컴포넌트

민니·2022년 7월 18일
0

iOS

목록 보기
16/22

스토리보드 컴포넌트

좌측 내비게이터에서 Main.storyBoard를 클릭한 후, 우측 상단의 + 버튼을 누르면, 오브젝트를 추가할 수 있음


⬇️ 오브젝트 라이브러리


( ❓ ⇒ 그냥 내가 아직 한번도 사용해 본 적이 없다는 표시,,, 🥲)

Label: 하나 혹은 한 줄 이상의 텍스트를 나타내는 뷰
Button: 사용자의 상호 작용에 대한 응답으로 사용자가 custom한 코드를 실행하는 컨트롤
Segmented Control: 여러 세그먼트(부분)들로 구성된 수평 컨트롤로, 각 세그먼트는 개별 버튼으로 작동 ❓→ Radio Button
Text Field: 사용자의 인터페이스에서 편집 가능한 텍스트 영역을 나타내는 오브젝트
Slider: 어떠한 값의 범위 중에 하나의 값을 선택하는 컨트롤
Switch: on/off와 같은 2개의 선택지를 제공하는 컨트롤
Activity Indicator View: 작업이 진행 중임을 나타내는 뷰 ❓→ TableView + 주로 같이 씀.
Progress View: 진행 상황을 나타내는 뷰
Page Control: 수평으로 그려진 일련의 점들로 나타내며, 각각은 앱의 페이지를 표시하는 컨트롤❓
Stepper: 값을 증가하거나 감소시키는 컨트롤 ❓


UIStack View
Horizontal Stack View: 수평 방향으로 뷰 컬렉션을 만들고 제약 조건을 관리함
Vertical Stack View: 수직 방향으로 뷰 컬렉션을 만들고 제약 조건을 관리함


Table View: 데이터들을 스크롤 가능한 행 형태의 목록을 나타냄
Table View Cell: Table View의 각 행은 UITableViewCell 개체
Image View: 인터페이스에 하나 혹은 움직이는 이미지를 나타내는 오브젝트
Collection View: 사용자가 custom한 레이아웃으로 데이터가 정렬된 컬렉션을 관리
Collection Reusable View: header나 footer을 생성할 때 사용(header나 footer은 Collection View의 구성 요소) ❓
Text View: 스크롤 가능한 여러 줄의 텍스트 영역
Scroll View: 스크롤 및 확대/축소를 허용하는 뷰 ❓
Date Picker: 날짜와 시간 value를 입력하는 컨트롤 ❓
Picker View: wheel이나 slot-machine 형태로 value를 나타내는 뷰 ❓
Map Kit View: 삽입 가능한 지도 인터페이스(Map 앱에서 제공하는 것과 비슷) ❓
MetalKit View: Metal Object를 생성하고, 구성하고, 나타내는 뷰 ❓→ 그래픽 API / low level 드로잉


Navigation Bar: 화면의 상단에 표시되는 navigational control. left button, center title, right button으로 구성되어 있음
Navigation Item: Navigation Bar에 표시되는 아이템
Toolbar: 사용자의 인터페이스 하단 모서리를 따라 표시되는 하나 혹은 하나 이상의 버튼 ❓
Fixed Space Bar Button Item: 고정된 공백을 이용하여 아이템 정렬 ❓
Flexible Space Bar Button Item: 유동적 공백을 이용하여 아이템 정렬❓ 
Tab Bar: 앱에서 여러가지 모드를 선택하기 위해 하나 이상의 버튼을 표시하는 bar ❓
Tab Bar Item: tab bar에 표시되는 item ❓
Bar Button Item: 각 bar buttom item은 button과 비슷하게 동작하며, title, image, action, target이 있음. Toolbar나 Navigation Bar 등에 배치할 수 있음
Search Bar: 사용자가 관련된 정보를 서치하고 수신할 수 있도록 하는 뷰 ❓

✏️ Toolbar vs Tab Bar

Tool bar: 현재 내용과 관련된 작업 수행(책갈피 추가, 공유, 삭제 등) ex. safari toolbar

Tab Bar: 현재 내용과 관련이 되지 않은 화면 이동 수행 ex. 시계 앱 tab bar

View: 화면에 사각형 영역에 있는 내용을 관리하는 오브젝트 → 색 변경, 이미지 채워넣기 등 다양하게 변경할 수 있음.
Container View: 자식 뷰 컨트롤러를 호스트할 뷰 컨트롤러 내의 영역을 정의함. 자식 뷰 컨트롤러는 embed segue 방식으로 지정됨.

✏️ Segue: 2개의 뷰 컨트롤러 사이의 관계, 뷰 컨트롤러 사이에서 화면 전환을 수행하는 방법 중 하나


View Controller: UIKit app의 View 계층 구조를 관리하는 오브젝트. toolbar, navigation bar, aplication view 관리 기능을 제공하고, 디바이스의 방향이 변경될 때 회전 기능을 지원함
Storyboard Reference: 스토리보드를 여러 파일로 팩토링하게 함. placeholder에 연결된 Segue는 하나의 storyboard에서 다른 storyboard로 전환하는 것을 허용 ❓

✏️ Storyboard Reference를 사용하는 이유: 협업 시에 스토리보드를 여러 파일로 나눌 때 사용함


Navigation Controller: 스택 기반 체계를 정의하는 container view Controller. Navigation Controller은 navigation bar, view controller로 구성된 스택을 관리. 각각의 view controller은 navigation item을 이용하여 navigation bar의 외형을 custom할 수 있음. view controller가 스택에서 push/pop할 때, navigation controller은 navigation bar와 view를 알맞게 업데이트함

✏️ Container View Controller: 여러 요소를 조합하여 인터페이스를 구성하고, 직접적으로 무언가를 보여주는 역할 대신, 부모-자식 뷰 컨트롤러 관계를 형성하여 자식 뷰 컨트롤러를 관리함


Table View Controller: Table View를 관리하는 뷰 컨트롤러. 인스턴스를 자동으로 생성. ❓
Collection View Controller: Collection View를 관리하는 뷰 컨트롤러. 인스턴스를 자동으로 생성❓
Tab Bar Controller: tab bar item을 나타내는 뷰 컨트롤러 set를 관리. 각각의 뷰 컨트롤러는 tab bar item과 선택하였을 때 표시할 아이템을 나타내는 뷰를 제공함 ❓
Split View Controller: 하나의 뷰 컨트롤러의 변경이 다른 뷰의 내용을 변경함 (ex. 아이패드에서의 memo 앱에서 폴더, 메모, 내용 순으로 구성되는 화면) ❓
Page View Controller: view controller들을 페이지처럼 나타냄. 각각의 자식 뷰 컨트롤러가 각 페이지를 관리하는 container view controller ❓
Hosting View Controller: SwiftUI 뷰 계층 구조를 관리하는 UIKit 뷰 컨트롤러 → SwiftUI 뷰를 UIkit 계층 구조에 통합하려면 UIHostingController 생성❓
GLKit View Controller: OpenGL ES rendering 루프를 관리하는 뷰 컨트롤러 → DEPRECATED ❓
AVKit Player View Controller: AVplayer 오브젝트를 관리, player의 내용을 표시하고 재생을 제어하는 인터페이스를 제공하는 뷰 컨트롤러 ❓

Object: custom class 인스펙터를 사용하여 특정한 class의 인스턴스로 변환, 뷰 컨트롤러와 별도로 custom 컨트롤러를 인스턴스화하여 사용(뷰의 action과 outlet은 유지) ❓


🔗
https://developer.apple.com/

0개의 댓글