강신규
[Swift] Auto Layout 이란 본문

(출처: Apple Developer)
AutoLayout 의 정의
오토 레이아웃(Auto Layout)은 제약 조건(Constraints)을 이용해서 뷰의 위치를 지정하는 것입니다. 다시 말하면, 두 뷰 사이의 관계를 제약 조건이라는 것을 이용해서 뷰의 크기와 위치를 지정하는 것입니다.
AutoLayout 이 필요한 이유는 무엇일까
아이폰의 기기 종류는 매우 다양하고 회전하는 경우 좌표들이 모두 다 달라진다. 모든 기기마다 width 와 height 는 다르기때문에 한 아이폰 기기에서는 알맞게 화면이 나오지만 다른화면에서는 이상한 위치에 배치가 되기 때문에 절대적인 위치보다 상대적인 위치에 배치가 되면 이 문제를 해결할수있다.
같은 좌표인 (5,5)는 아이폰 기기마다 다른 위치에 분포를 하게 된다 따라서 "옆에 누군가 있다면 그 옆에 5만큼 떨어지게 해줘" 의 역할을 대신해 주는것이 오토레이아웃이다.
AutoLayout 을 사용하기 위해 필요한것
iOS의 UI는 뷰(View) 안에 여러 하위 뷰(Subview)가 들어간 트리 구조로 되어있습니다.
iOS가 알맞게 UI의 레이아웃을 잡으려면, 개발자가 모든 뷰의 '위치'와 '크기'를 지정해줘야 합니다.
1. View 의 X 축 위치
2. View 의 Y 축 위치
3. View 의 X 축 크기
4. View 의 Y 축 크기
모든 View 의 4가지 값을 구할 수 있도록 개발자는 View 와 View 사이 상대적인 관계를 표현한 조건을 만들어서 전달해야합니다.

(출처: Apple Developer)
Constraint 는 하나의 View 와 다른 View 속성 간 관계를 지정해야합니다.
Top , Bottom , Left , Right , Center X , Center Y 의 조건을 걸어 이 좌표가 어디로 갈수있을지 상대적인 위치가 정해진다면 목적에 도달할 수 있습니다.
ex ) (Left 와 Center Y). or (Left 와 Width) or ( Left 와 Right )
'iOS > Swift' 카테고리의 다른 글
[iOS][Swift] App LifeCycle - 앱 생명주기 (0) | 2024.05.24 |
---|---|
[Swift] Extensions (확장) 이란 (1) | 2024.04.12 |
[Swift] unrecognized selector sent to instance (0) | 2023.06.02 |
[Swift] Optional 정리 (0) | 2023.01.31 |
[Swift] Cording_Test 준비 (0) | 2023.01.30 |