[Swift] View계층구조, AutoresizingMask, translatesAutoresizingMaskIntoConstraints 개념

CHO·2023년 2월 11일
0

[Swift] 공부하기

목록 보기
5/13

UIKit을 공부하다가 궁금해져서 찾아보게 되었다.
문법 공부는 Apple 공식문서를 보면서 하는게 좋다고 해서 그렇게 따라가려고 한다~!

  1. View의 계층구조
    : superView, subView, sibiligView로 특정된다.
    : 우선순위는 superView > subView 이다.

  2. SuperView와 SubView의 계층구조에 따른 몇가지 특징 정리
    : superView를 제거하면 subView도 함께 제거된다
    : superView의 투명도는 subView에도 적용된다
    : superView의 size가 변하면 subView의 size도 함께 변화함
    : superView는 subViews를 array로 관리 가능

  3. translatesAutoresizingMaskIntoConstraints이란?

해석해보면 뷰의 자동 크기 조정 마스크가 제약 조건 기반 레이아웃 시스템의 제약 조건으로 변환되는지 여부를 나타내는 부울 값 이라고 한다.


코드 칠 때 이렇게 주로 썼는데, 그 이유가 뭔지 모르고 썼었기에,,,이유를 찾아봄ㅎㅎ
의미 : 이 코드가 있어야 추가적인 constraint를 정의할 수 있다. 그리고 constraint를 설정하기 전에 subView를 추가해줘야한다.

그런데 모르자네...AutoresizingMask가 뭘까요?
모르니 찾아봅니다.

-AutoresizingMask란?
부모 뷰가 커지거나 줄어듦에 따라서 서브 뷰의 크기나 위치가 조정되는 방식을 말한다.
동일한 축을 따라 비례적으로 사이즈가 조정되는 것을 말한다.
superView의 bounds가 변경되면 size를 조정하는 방법을 결정하는 정수 비트 마스크이다.

만약 translatesAutoresizingMaskIntoConstraints의 값이 true 라면?
: 시스템은 View의 AutoresizingMask로 지정된 행동을 복제하는 Constraint집합을 생성한다
: auto Layout을 사용해 View의 위치, 크기를 동적으로 계산하려면 프로퍼티를 false로 설정해야 View에 명료하게 전달할 수 있고, 충돌현상이 발생하지 않는다.
: 기본적으로 프로그래밍에서 이 모든 View들에서 이 프로퍼티는 true로 설정되어있다.

참고자료
https://zeddios.tistory.com/474
https://developer.apple.com/documentation/uikit/uiview/1622559-autoresizingmask
https://velog.io/@yongchul/iOSView%EC%9D%98-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0
https://ios-development.tistory.com/672

profile
매일 개념 익히고 적용합니다

0개의 댓글