일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인프라
- 운영체제
- 프로세스
- ios
- Python
- 도커 명령어
- 부스트코스
- kubernetes
- 데브옵스
- boj
- 컨테이너
- 도커 이미지
- swift 클로저
- centOS
- centOS7
- 네트워크
- Swift
- 쿠버네티스
- docker
- NGINX
- k8s
- os
- devops
- linux
- 도커
- 도커 컨테이너
- C++
- AWS
- 클라우드
- 리눅스
- Today
- Total
귀염둥이의 메모
[iOS] Auto Layout(오토 레이아웃) 본문
AutoLayout(오토 레이아웃)
아이폰 기종이 다양한 사이즈와 화면 비율로 출시가 되면서, 사이즈에 구애받지 않고 시각적으로 동일한 화면을 구현 해야하는데 이를 위한 가장 편리하고 권장되는 방법이 오토레이아웃이다.
- 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산한다.
- 애플리케이션을 사용할 때 발생하는 외부 변경에 동적으로 반응하는 사용자 인터페이스를 가능하게 한다.
- 인터페이스의 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우에 유용함.
외부 변경(External Changes)
- 슈퍼뷰의 크기나 모양이 변경될 때 발생함 ex) 장치 회전(iOS).
- 아이패드의 Split View를 사용하거나 사용하지 않는 경우(iOS).
- 다른 크기의 클래스, 스크린을 지원하기 원하는 경우.
내부 변경(Internal Changes)
- 사용자 인터페이스의 뷰의 크기 또는 설정이 변경되었을 떄 발생함.
- 앱 변경에 의해 콘텐츠가 보여지는 경우
- 앱이 국제화를 지원하는 경우
- 앱이 동적 타입을 지원하는 경우
오토레이아웃 속성
Safe Area (iOS 11부터 사용가능)
- 상태바, 내비게이션바, 툴바, 탭바를 가리는 것을 방지하는 영역.
- 기존의 상/하단 레이아웃가이드(Top/BottomLayout Guide)를 대체하며, 하위 버전에도 호환하여 작동.
제약(Constraint)
- 뷰 스스로 또는 뷰 사이의 관계를 속성을 통하여 Constraint를 정의한다.
고유 콘텐츠 크기(Intrinsic Content Size)
- 뷰의 고유 콘텐츠 크기는 뷰가 갖는 원래의 크기로 생각할 수 있다.
- 레이블의 고유 콘텐츠 크기는 레이블의 텍스트의 크기이고, 이미지의 고유 콘텐츠 크기는 이미지 자체의 크기이다.
제약 우선도(Constrint Prioriteis)
- 뷰의 고유 콘텐츠 크기를 각 크기에 대한 한 쌍의 제약을 사용하여 나타낸다.
- 우선도가 높을수록 다른 제약보다 우선적으로 레이아웃에 적용.
<참조>
부스트코스 - iOS 앱 프로그래밍 www.boostcourse.org/mo326/lecture/16848/
애플 공식 문서 - Auto Layout Guide
'iOS' 카테고리의 다른 글
[iOS] Delegate(델리게이트) 패턴 (1) | 2021.03.10 |
---|---|
[iOS] Cocoa Touch Framework, 코코아 터치 프레임워크(UIKit, Foundation) (0) | 2021.03.08 |
[iOS] MVC 디자인 패턴 (0) | 2021.03.08 |
[iOS] iOS의 뷰(View) 체계 (0) | 2021.02.10 |
[iOS] Auto Layout(오토 레이아웃) 코드로 구현하기 (0) | 2021.02.08 |