AutoLayout
: 제약 조건(Constraints)에 따라 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 동적으로 지정하는 것
UIKit에서 레이아웃을 구성하는데 사용
- Auto Layout dynamically calculates the size and position of all the views in your view hierarchy, based on constraints placed on those views
- 뷰의 크기와 위치를 설정하는 도구
- Constraint(제약조건)을 통해서 크기와 위치를 결정
- 덕분에 외부적 혹은 내부적 요인에 의한 크기 변화에 동적으로 대응할 수 있음
(사용자의 클릭이나 특정 뷰의 레이아웃 변화에 맞게 동적으로 변경됨)
- ex) 세로모드 → 가로모드
(높이와 너비가 서로 바뀜 → 제약조건만 올바르다면 원하는 위치에 객체 배치 가능)
특정 UI가 사라지거나 줄어드는 상황
(댓글 및 대댓글 UI = 글자의 길이나 폰트 사이즈만큼만 높이와 너비를 잡게 됨)
AutoLayout(자동 레이아웃)이 필요한 이유는?
: AutoLayout을 설정하지 않으면 서로 다른 기기의 디스플레이마다 객체가 다르게 표시되기 때문에
Inspector 영역
: 인스펙터 영역은 여러 객체에 대한 속성을 관리
하는 영역으로, 객체마다 관리할 수 있는 속성이 달라진다.
인스펙터 탭의 표출항목은 스토리보드
와 코드 화면
, 두 가지 상황에 따라 나뉜다.
코드 화면에서는 3가지 인스펙터 탭이 나오고,
스토리보드에서는 7가지 인스펙터 탭이 나온다.
- 파일 인스펙터 (File Inspector) - 코드화면, 스토리보드
- 히스토리 인스펙터 (History Inspector) - 코드화면, 스토리보드
- 빠른 도움 (Quick Help) - 코드화면, 스토리보드
- 아이덴티티 인스펙터 탭 (identity Inspector) - 스토리보드
- 어트리뷰트 인스펙터 탭 (Attribute Inspector) - 스토리보드
- 사이즈 인스펙터 (Size Inspector) - 스토리보드
- 커넥션 인스펙터 (Connection Inspector) - 스토리보드
Constraint
AutoLayout(자동 레이아웃)은 각 객체마다 제약 조건(constraints)을 설정하여 사용하는데
이때, 제약 조건이란 각 객체가 가질 수 있는 여백, 정렬 방법, 다른 객체와의 간격 등을 의미
(설정 과정과 결과는 아래 워크북 링크에서 자세하게 확인 가능!)
Constraint의 요소
- 좌, 우, 위, 아래, 높이, 너비