JuSeok

Hugging&Resistance

Priority



StoryBoard에서 오브젝트를 클릭하면 위 사진과 같이 두개의 Priority를 설정할 수 있다.

Hugging Priority

우선순위가 높으면 내 크기는 유지. 우선순위가 낮으면 내 크기를 늘림.



위 사진과 같은 상황이라 가정해보자.

두 Label이 있는데 width를 지정해주지 않고 leading, trailing, top만 지정해줬다면 사진과 같은 오류를 볼 수 있을 것이다.

두 Label사이의 거리를 10이라 지정해준다면 공간이 비는데, Hugging Priority가 같으니 어떤 녀석을 늘려서 맞춰야할지 모르겠다는 뜻이다.



따라서 둘 중 하나의 우선순위를 바꿔주면 오류를 해결할 수 있는데, 위 사진은 왼쪽 Label의 우선순위가 더 높은 상태이다.

Resistance Priority

우선순위가 높으면 내 크기는 유지. 우선순위가 낮으면 내 크기를 줄임.

Hugging Priority와는 반대로 두 오브젝트 사이의 거리가 부족할 때 필요한 우선순위이다.


만약 위 Hugging과 똑같은 상황에 Label의 text가 20글자라면 두 Label의 사이가 부족할 것이다.

이때 Resistance Priority를 조절해 하나는 abcd..., 나머지 하나는 abcdefghijk 이런식으로 전부 보여줄 수가 있다는 것이다.





두 우선순위를 더욱 쉽게 이해하기 위해서는 Intrinsic Size에 대해 알면 좋을 것 같다! 다음 포스팅으로 알아볼 예정이다.

내가 개발하면서 두 우선순위를 사용해본적은 한번도 없다... 그런 상황을 못 만났다기 보단 보통 안 오는 상황인 것 같다.


참고자료

Tags