[layout] autolayout_Compression_resistance

이채윤·2022년 1월 24일
0

IOS

목록 보기
12/24

  • 왼쪽 Label의 우선순위 -> 253
  • 오른쪽 Label의 우선순위 -> 251

[Compression resistance]

  • Compression의 의미는 눌러버리다, 압출시켜버리다 라는 뜻

  • resistance의 의미는 저항하다 라는 뜻

  • 즉, Compression resistance의 뜻은 밀려서 눌려버리는 것을 막는다는 뜻이다.

  • 내 크기 자체를 유지하고 그거보다 작게 찌그러지거나 눌려버리는 것을 막는다.

  • 눌려지지 않게 하려면 숫자를 높여야한다. (숫자를 늘려야 내 크기를 유지)

<위의 상황에서 오류가 생기지 않는 이유>

  • 두개의 Label의 compression resistance가 같은데 오류가 생기지 않는 이유는 나보다 더 큰 무언가가 없어서 그렇다.
  • compression resistance가 작동을 하려면, 내 크기보다 훨씬 큰 무언가가 나타나서 나를 찌그러트려야한다.

<오류 생성>

  • 긴 글씨를 적어서 뭔가를 찌그러트리는 상황이 온다면, 오류 발생
  • 즉, 현재 있는 object가 너무너무 길어서 옆에있는 object를 밀어버릴 수 있는 상황이 되어버린 것이다.
  • 왼쪽과 오른쪽 중에서 어느 Label을 찌그러뜨릴지는 compression resistance에 의해서 결정되는데, 둘의 값이 같다보니 오류가 발생

<오류 해결>

  • 왼쪽 Label의 값을 올려준다.

  • 오른쪽 Label의 값이 찌그러져서 보이지 않는다.

  • 왼쪽 Label의 글씨 수를 줄여준 모습

  • 왼쪽 Label의 내 크기값이 밀리지않고 유지하겠다는 compression resistance값이 더 높으니까 오른쪽 Label이 찌그러진다.

[잘리는 방식]


  • Truncate Head -> 앞쪽을 자르겠다
  • Truncate Middle -> 중간을 자르겠다
  • Truncate Tail -> 뒤를 자르겠다

[priority_constraints]

  • 크기 뿐만 아니라, 간격에 대한 부분에 있어서도 우선순위를 배치할 수 있다.

0개의 댓글

관련 채용 정보