Hugging Priority
Priority설명을 하기 전에, Label의 경우 크기가 정해져 있지 않기 때문에 크기를 지정해 주지 않아도 contraint 에러가 발생하지 않는 다는 것을 알아두자.
trailing contraint가 빠져있기 때문에 이후에 다른 뷰와 겹칠 수 있어 발생하는 경고이다. trailing을 40으로 설정해주었더니 에러가 발생한다.
오브젝트의 size inspector에서 priority를 설정할 수 있다.
내가 가지고 있는 컨텐츠 값 그대로 유지를 할 수 있는 우선순위를 Hugging Priority라고 한다. 숫자가 높을수록 우선순위가 높아 우선 수행된다. 우선순위 값은 1~1000사이이다.
1000이라는 값은 어떤 설정에서도 그 속성은 풀리지 않음을 의미한다. 무조건 그 값을 유지한다는 의미이다.
contraint의 edit을 눌러도 priority값을 수정할 수 있다.
우선순위값이 같을 때는 아까와 같이 에러가 발생한다. 두 오브젝트가 같은 우선순위를 가지고 있기 때문에 trailing을 40을 주었을 때, 어떤 Label 오브젝트가 커질 지 결정할수 없는 것이다.
왼쪽에 있는 레이블의 크기가 변하면 안된다면, 왼쪽의 레이블의 우선순위를 높게 해주면, 왼쪽 레이블의 크기는 그대로 이고, 오른쪽 레이블의 크기가 늘어난 것을 볼 수 있다.
레이블을 세개 만들어서, 가운데 레이블만 우선순위를 낮춘 모습은 다음과 같다.
Label을 삼분할 해서 사용하고 싶을 때 위와같은 상태에서 가운데 Label만 가운데정렬해서 사용하기도 한다.