안녕하세요
UIKIT를 사용한 지 거의 4일 되면서
궁금한 점이 하나 생겼습니다
왜
코드로 구현할 때
translatesAutoresizingMaskIntoConstraints = false
사용해야 하는지에 대해서요
그냥 코드 사용할 때 애플에서 그냥 자동으로 심어주면 안되는건가? 라고 생각해서
굳이 이걸 코드로 작성해야하는 이유에 대해서 찾아보았다
자동 리사이징 마스크가 Auto Layout 제약 조건으로 변환되는지를 결정하는 Bool 자료형입니다
이 속성을 false로 하면 자동 리사이징 마스크가 Auto Layout 제약 조건으로 반환되지 않습니다
무슨말인지 모르겠다구요?
iOS 개발에서 뷰를 레이아웃 할 때 두가지 방법이 있습니다
자동 리사이징 마스크
뷰의 크기와 위치를 자동으로 조정해주는 구닥다리 방식
Auto Layout
제약조건을 사용해서 뷰의 크기와 위치를 더 정밀하게 설정하는 방식
기본적으로 뷰는 자동 리사이징 마스크인 뷰의 크기와 위치를 자동으로 조정해주는 구닥다리 방식으로 설정이 되어있답니다
이 말은 즉슨 뷰가 자신의 크기와 위치를 자동적으로 조절하는 뜻입니다
그런데 우리가 Auto Layout을 사용하고 싶다??!!
그럼 반드시
translatesAutoresizingMaskIntoConstraints = false
선언 해야 합니다
선언하지 않으면 화면에 제대로 보이지 않을 가능성이 있답니다!
그래서 반드시 코드로 Auto Layout을 사용할 때 반드시
설정을 제대로 하고 충돌을 방지하고 원하는 대로 레이아웃을 구성하여
화면에 보이도록 해야합니다!
'UIKit' 카테고리의 다른 글
iOS 화면 이해 - 프레임 / 오토레이아웃 (0) | 2024.06.04 |
---|---|
UIKit | MasksToBounds란?? (0) | 2024.06.04 |
UIKit | Swift File과 Cocoa Touch Class의 차이점 (0) | 2024.06.02 |
UIKit | Basic - Toolbar(단축) (0) | 2024.05.28 |
UIKit | IDEPreferLogStreaming=YES (0) | 2024.05.28 |