UIKit

UIKit | 오토레이아웃을 사용하며 한가지의 궁금증 왜 translatesAutoresizingMaskIntoConstraints = false 사용하지?

ziziDev 2024. 5. 30. 21:28
반응형

안녕하세요

UIKIT를 사용한 지 거의 4일 되면서

궁금한 점이 하나 생겼습니다

왜 

 

코드로 구현할 때

translatesAutoresizingMaskIntoConstraints = false

사용해야 하는지에 대해서요

 

그냥 코드 사용할 때 애플에서 그냥 자동으로 심어주면 안되는건가? 라고 생각해서

굳이 이걸 코드로 작성해야하는 이유에 대해서 찾아보았다

 

 

자동 리사이징 마스크가 Auto Layout 제약 조건으로 변환되는지를 결정하는 Bool 자료형입니다

 

이 속성을 false로 하면 자동 리사이징 마스크가 Auto Layout 제약 조건으로 반환되지 않습니다

 

무슨말인지 모르겠다구요?

 

iOS 개발에서 뷰를 레이아웃 할 때 두가지 방법이 있습니다

 

자동 리사이징 마스크

뷰의 크기와 위치를 자동으로 조정해주는 구닥다리 방식

 

Auto Layout

제약조건을 사용해서 뷰의 크기와 위치를 더 정밀하게 설정하는 방식

 

기본적으로 뷰는 자동 리사이징 마스크인 뷰의 크기와 위치를 자동으로 조정해주는 구닥다리 방식으로 설정이 되어있답니다

 

이 말은 즉슨 뷰가 자신의 크기와 위치를 자동적으로 조절하는 뜻입니다

 

그런데 우리가 Auto Layout을 사용하고 싶다??!!

 

그럼 반드시 

translatesAutoresizingMaskIntoConstraints = false

선언 해야 합니다

 

선언하지 않으면 화면에 제대로 보이지 않을 가능성이 있답니다!

 

그래서 반드시 코드로 Auto Layout을 사용할 때 반드시

설정을 제대로 하고 충돌을 방지하고 원하는 대로 레이아웃을 구성하여

화면에 보이도록 해야합니다!

 

 

반응형