[iOS] Constraint - Size

RudinP·2024년 2월 15일
0

Study

목록 보기
154/227

고정된 크기 제약

  • 캔버스에서 Width, Height를 체크하고 값을 입력해주면 된다.

고정된 크기의 제약을 주게 되면, 비율로 배치하고자 하는 뷰는 당장 현재 씬에서는 문제가 없어 보인다.

그러나, 다른 플랫폼으로 바꾸게 되면 당연하게도 의도하지 않은 비율로 바뀐다.
이를 위해 비율 제약이 필요하다.

(더불어, 제약 충돌도 발생한다.)

비율 제약

Aspect Ratio


체크하고 추가하게 되면 현재 설정된 고정값에 따른 비율로 설정된다.

수정하기 위해서는 제약을 선택하고 인스펙터 뷰에서 작업하면 되는데, Aspect Ratio는 Constant가 아닌, Multiplier을 봐야 한다.

Multiplier을 의도한 대로 16:9로 바꾸자. 16.9로 소수같이 입력해도 무관하다.

그러나 의도하지 않은 모습이 되는데, Aspect Ratio의 주의할 점은 너비나 높이 중에서 하나만 계산할 수 있게 제약을 추가해야 한다.
현재 화면의 상황에서는 높이, 너비 제약이 모두 있다.
이렇게 되면 너비를 기준으로 계산할 때 높이가 커져야하는데, 이미 높이 제약이 있으므로 변동되지 않는 것이다. 반대도 마찬가지로, 높이를 기준으로 너비를 바꿔야 할 때 너비가 고정되어 있다면 의도하지 않은 모양이 될 것이다.
따라서, 현재 상황에서는 높이 제약을 지워야 한다.

다른 뷰를 대상으로 제약 추가하기

두 뷰가 항상 같은 높이를 가지게 하고 싶은 경우

  • ctrl+drag를 한 뒤, Equal Heights를 체크한다.
  • 혹은, 두 뷰를 선택하고Equal Heights를 체크해주면 된다.

  • 참고로 현재 뷰 크기 기준으로 작업되므로, Multiplier을 수정해주어야 한다.
    • ctrl+drag에서는 opt를 누를 시 바로 1:1로 제약 추가 가능
  • 또한 이미 둘 다 Height를 고정 길이로 제약을 추가해두었다면 다른 하나는 제거해주어야 제약 충돌이 발생하지 않는다.
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글