뷰와 슈퍼뷰 사이의 표준 공간은 20포인트이고, 뷰와 sibling뷰와의 공간은 8포인트이다.
status bar 상태바가 있으면 8포인트 아래에 표준 공간이 위치하고 아니면 슈퍼뷰로부터 20포인트 아래에 위치한다.

빨간색: simple single view
파란색: adaptive single view
multiplier의 다양한 형태
decimal number (2.0), a percentage (200%), a fraction (2/1), or a ratio (2:1)
red view twice as wide as the blue view, but the blue view has a 150-point minimum width.
빨간색 뷰가 파란색 뷰의 두배이지만, 파란색 뷰는 최소 150포인트의 너비를 가진다.
파란색 뷰의 조건이 우선순위를 가져야하기 때문에
priority를 1000으로 주고, width >= 150 으로 설정해주고
두 배 조건의 priority를 750으로 변경했다.
세로 화면에서는 두배 조건을 만족시키지 못하지만
landscape화면에서는 두 가지의 조건을 만족시킨다.
label과 textField 사이의 공간을 엔터만 치면 standard로 설정할 수 있다!
Intrinsic Content Size가 있으면 CHCR 우선순위를 활용해 조작한다.
label과 textField가 수평선위에 위치하고 있을 때
label의 CH priority가 251으로 기본설정이 되어 있어 textField의 250보다 높아 label의 텍스트가 증가하면 늘어나고 텍스트의 크기가 줄어든다.
label이 언어에 따라 엄청 짧을 수 있기 때문에 최소한의 공간을 보장해야한다. 예를 들어 width>=30으로 설정하고 CR의 priority를 1000으로 올리면 설정할 수 있다.
폰트크기 설정에 따라 크기가 다른데 텍스트필드랑 높이를 맞추고 싶다면?
디폴트 CH 제약조건인 250보다 작게 선택적 제약조건을 만들지 않으면, 시스템은 고장나고 hugging 제약조건은 뷰를 늘려버린다.
baseline alignment는 text view가 고유 콘텐츠 사이즈일 때만 유효하다.
아래를 이해하는 것이 중요!
Name Label.Top >= Top Layout Guide.Bottom + 20.0
Name Label.Top = Top Layout Guide.Bottom + 20.0 (Priority 249)
Name Text Field.Top >= Top Layout Guide.Bottom + 20.0
Name Text Field.Top = Top Layout Guide.Bottom + 20.0 (Priority 249)
라벨 세개를 수직으로 정렬하고
leading과 trailing을 맞춰서 정렬하면 너비를 같게 했을 때 가장 긴 라벨에 맞춰 사이즈가 늘어난다.
묶음이다 싶으면 스택뷰를 사용해도 된다.
꿀팁!
control 누르고 드래그 하면 aspect ratio 설정 가능
control 누르고 드래그 하면 top, bottom, center virtically 왼쪽이랑 동일하게 맞추는거 가능(baseline뿐만 아니라)