관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] setContentHuggingPriority 사용 시 주의사항 (containerView와 contentView) 본문

iOS 응용 (swift)

[iOS - swift] setContentHuggingPriority 사용 시 주의사항 (containerView와 contentView)

jake-kim 2023. 9. 27. 02:06

setContentHuggingPriority 개념

  •  고유 크기보다 커지는 것을 방지하기위해 우선 순위를 설정하는것
  • cf) setContentCompressionResistancePriority:  고유 크기보다 작게 되는것을 방지하기위해 우선 순위를 설정하는것

* 구체적인 개념은 이전 포스팅 글 참고

setContentHuggingPriority 주의사항

  • containerView와 이 안에 있는 label이 있을 때, containerView의 hugging 값을 높게해주어도 안에 있는 label의 hugging값을 조절해주지 않는이상 적용되지 않으므로 주의

ex) 왼쪽, 중앙, 오른쪽 세 개의 뷰가 있을때,

중간에 있는 뷰의 hugging값을 높여서 길어지지 않도록 하고 싶은 경우?

  • 중간에 있는 뷰의 hugging값만 높이면 적용 x
  • 중간에 있는 뷰의 안에 있는 label의 hugging값을 높여야 적용 o

뷰에만 적용한 경우) 효과 x

centerView.setContentHuggingPriority(.required, for: .horizontal)

containerView에 hugging 적용해도 효과 x

뷰 안에 있는 label에 적용한 경우) 효과 o

centerView.label.setContentHuggingPriority(.required, for: .horizontal)

containerView의 label에 hugging 적용하면 효과 o

 

* 전체 코드: https://github.com/JK0369/ExHugging

Comments