좌 우 여백을 띄울때
leadingMargin, trailingMagin
leading ~ offset
leading ~ inset
이 세가지를 이용해서 여백을 띄울 수 있습니다.
그렇다면 어떻게 다른지 비교를 해보겠습니다.
Snapkit를 사용한 코드와 스샷을 통해 비교해 보겠습니다.
// 상단 사진
make.leadingMargin.equalTo(20)
make.trailingMargin.equalTo(-20)
// 중앙 사진
make.leading.trailing.equalTo(view).inset(20)
// 하단 사진
make.leading.equalTo(view).offset(20)
make.trailing.equalTo(view).offset(-20)
상단에 있는것이 중단과 하단에 있는 사진과
미묘하게 차이가 있는 것을 볼 수 있습니다.
수치로 확인해보면
첫번째 사진은 leadingMargin이 적용된 TextField의 레이아웃 값
두번째 사진은 leading에 inset or offset이 적용된 값입니다.
수치가 16정도 차이가 나네요...
왜 그런가...
메소드를 타고 들어가 봤더니
leadingMargin는 += leadingMargin으로 되어있는 것을 볼 수 있습니다.
default로 추가 되어 있는데,
그럼 margin값은 얼마나 default로 되어 있는 걸까? 에 대해 다시 찾아보았고
공식문서에서 찾을 수 있었습니다.
공식문서에 default 8로 되었다고 나와있었습니다.
결론 :
leadingMargin은 leading에 + 8 이 되어있기 때문에
동일한 값을 설정했을때 inset과 offset과 8정도 차이가 벌어진다.
'새싹' 카테고리의 다른 글
CodeBase에서 UITabBar 적용하기 (0) | 2023.08.27 |
---|---|
iOS CustomView 만들때 super.init(frame: frame)만 가능한 이유 (0) | 2023.08.24 |
오토레이아웃은 비율 중심으로 잡아라! (1) | 2023.08.21 |
ScrollView안에 TableView생성시 스크롤 문제 (0) | 2023.08.21 |
DispatchGroup에 대해 알아보자 part 1. (0) | 2023.08.21 |