Constraint
NSLayoutConstraint
- x,y, height, width를 레이아웃 시스템이 계산할 수 있도록 이를 고려하여 제약을 추가해야 한다.
- 겹치지 않도록 최소한의 제약만 추가해야한다.
제약 공식
item1.attribute1
= multiplier x item2.attribute2
+ constant
item
은 제약의 대상이고, 보통 뷰가 오는데 경우에 따라 safeArea나 Layout guide가 오기도 함
- 너비나 높이 제약은 2번째 아이템과 어트리뷰트를 지정하지 않는다.
attribute
는 width, height가 포함되는 size Attribute
, 나머지 left, center, location margin등은 location
카테고리로 분류된다.
- notAnAttribute는 어트리뷰트를 사용하지 않을 때 자리만 차지하는
placeholder
- 카테고리가 다르면 하나의 제약에서 함께 사용하지 않는다.
- 축이 다른 경우에도 하나의 제약에서 함께 사용하지 않는다.
- left, right 대신
leading
, trailing
을 중점적으로 사용한다.
- 언어권에 따라 배치가 달라지기 때문이다.(ex: 아랍권은 반대쪽이다)
- left, right를 사용할 경우 절대적으로 방향에 맞춰 배치된다.
multiplier
: 비율
constant
: 위치를 배치할 때 사용하는 상수(변동 가능)