오늘은 Constraints에 대해서 알아보자.
Apple Document Archive를 참고해서 썼다.
View의 크기이다.
여기에는 상수값을 할당하거나 다른 (View의) Height나 Width와 결합할 수 있다.
이 값은 음수가 될 수 없다.
너비 100, 높이 100인 View를 만들어보자.
위에서 만든 BlueView의 Heigth, Width와 결합해보자.
이런 식으로 새로 만든 PurpleView와 BlueView의 Height, Width를 Equal로 두었더니 BlueView와 동일한 크기로 PurpleView가 만들어졌다.
View를 세로 방향과 관련된 값이다.
이 값들은 centerY
, Top
, Bottom
, Baseline
과만 결합할 수 있다.
Top
, Bottom
은 View의 위, 아래와 관련한 제약조건이다.
❗️이번 포스팅을 쓰게된 이유이다.
후행으로 이동하면 이 값은 증가한다.
이 값들은 centerX
, leading
, trailing
과 결합할 수 있다.
leading
을 예시로
왼쪽에서 오른쪽으로 이동하는 레이아웃 방향인 경우 오른쪽으로 이동하면 값이 증가한다.
오른쪽에서 왼쪽으로 이동하는 레이아웃 방향인 경우 왼쪽으로 이동하면 값이 증가한다.
한국인인 우리가 보고 있는 화면은 왼쪽에서 오른쪽으로 이동하는 레이아웃이다.
아랍권에서는 오른쪽에서 왼쪽으로 이동하는 레이아웃이다.
(책을 읽는 방향을 기준으로 하고 있는거로 알고있다... 아니면 알려주세여!!!)
레이아웃의 이동 방향에 따라 leading
의 시작점이 달라진다.
즉, 한국어의 leading
은 글이 시작되는 왼쪽
아랍어의 leading
은 글이 시작되는 오른쪽
두 화면 모두 건강 App 첫 화면이다.
왼쪽은 Device 언어가 한국어로 설정되어 있고, 오른쪽은 Device 언어가 아랍어로 설정되어 있다.
둘의 leading
의 방향이 다르므로 화면이 서로 반대로 그려져 있는 모습을 확인할 수 있다.
오른쪽으로 이동하면 이 값은 증가한다.
이 값들은 Left
, Right
, centerX
와만 결합할 수 있다.
Left
, Right
를 사용하기 보다는 leading
, trailing
을 사용하기를 권장한다.
그 이유는 위에서 살펴본 바와 같이 레이아웃의 읽기 방향에 자동으로 맞춰서 화면에 표시되기 때문이다.
오늘은 다양한 Constraint에 대해 알아봤다.
그럼 이만👋