AutoLayout

김서영·2023년 1월 28일
0

AutoLayout

목록 보기
1/3

Autolayout

기존의 Frame-Based Layout과 다른 View들 간의 관계를 이용, 즉 제약조건(Constraint)을 이용하여 View의 위치와 크기를 동적으로 결정한다.

사용자 인터페이스(User Interface)를 배치하는 3가지 방법인 프로그래밍방식, autoresizing masks방식, Auto Layout방식 중 하나다.다른 2개의 방법과 달리 View들 간의 관계를 이용하기 때문에 뷰의 변경시 모든 뷰들을 일일히 변경할 필요가 없기 때문에 3가지 방법 중 유지 보수성이 제일 높다.

우선순위는 1~1000까지 있으며, 우선순위에 따라 적용되는 제약조건이 달라진다. 우선순위는 1000이 제일 높다.

왼쪽부터 위치를 정하는 Leading, 오른쪽부터 위치를 정하는Trailing, 위쪽부터 위치를 정하는 Top, 아래쪽부터 위치를 정하는 Bottom이 있으며, 이 외에도 길이의 중간인 CenterX와 높이의 중간인 CenterY가 있다.

왼쪽에서 오른쪽방향이 +, 위쪽에서 아래쪽으로 향하는 방향이 + 이기 때문에 유의해야 한다.

제약조건을 만드는 방법은 2가지가 있는데, storyBoard에서 add new Constraints를 눌러 제약조건을 만드는 방법과 코드로 제약조건을 만드는 방법이 있다.

코드로 autoLayout을 구현할 경우

.translatesAutoresizingMaskIntoConstraints = false

translatesAutoresizingMaskIntoConstraints의 옵션을 false로 바꾸어 직접 제약조건을 수정할 수 있도록 해야한다.


0개의 댓글