Content compression resistance priority, Content hugging priority

jane·2022년 2월 9일
0

iOS

목록 보기
15/32

간단히 말하면
Content compression resistance priority는 공간이 부족할때 누가 먼저 줄어들것이냐이고
Content hugging priority는 공간이 늘어날때 누가 먼저 늘어날것이냐이다...
둘다 당연히 priority가 큰 뷰쪽이 가만히 있는다

왜냐면 priority가 우선순위인데 저항하는 우선순위가 큰 뷰가 저항하는 힘이 더 세니까

즉 이 뷰는 늘어나거나 줄어들게 하기 시러!! == priority 높이셈

Content compression resistance priority

줄어들어야하는 상황에서 안줄어들려는 힘
두개의 뷰가 있다면, 그 중 저항하는 힘이 약한 뷰가 줄어든다
저항하는 힘이 세면 안줄어듦

예시를 보자
https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/6152fa94ccd9ef11a51aee7f/20220209/620337379276e54c1b072947.png

날짜 레이블 2020.12.19 보다 오른쪽 레이블이 먼저 줄어들게 하기 위해서는
날짜의 content compression resistance priority를 옆 레이블보다 크게주면 됨

날짜 레이블 줄어들게 하기 시러!! == 응 priority 높이셈

스토리보드 상으로는 : 날짜 752 / 오른쪽 750

Content hugging priority

늘어나야하는 상황에서 안늘어나려는 힘
두개의 뷰 중 안늘어나려는 힘이 약한 뷰가 먼저 늘어난다

트러블슈팅

  • 문제
    메모 내용의 첫줄이 짧을 때 왼쪽 메모 목록의 날짜와 내용 미리보기 사이에 간격이 발생하는 문제가 생겼다.

  • 원인
    날짜 레이블과 내용 레이블의 content hugging priority가 같아서 생긴 문제

  • 해결
    날짜 레이블의 content hugging priority를 높여주었다.

label.setContentHuggingPriority(.defaultHigh, for: .horizontal)

문제 상황 캡쳐
https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/6152fa94ccd9ef11a51aee7f/20220209/6203458b9276e54c1b072957.png

Reference

https://ontheswift.tistory.com/21

profile
제가 나중에 다시 보려고 기록합니다 ✏️

0개의 댓글