margin
👋 들어가기 전
오늘은 margin 관련된 내용을 조금 정리해보려고 한다.
🏁 학습할 내용
- margin
- 특징
- layoutMargins vs directionalLayoutMargins
- insetsLayoutMarginsFromSafeArea
- isLayoutMarginsRelativeArrangement
🧩 Margin
📌 개념
현재 뷰와 컨텐츠 사이의 간격을 의미한다.

✅ 특징
- 양수 값은 뷰의 중심쪽, 음수 값은 바깥쪽을 가리킨다.
- 뷰 바깥 쪽이 아닌, 안쪽으로 커진다.
🥊 layoutMargins vs directionalLayoutMargins
마진을 주는 방법은 2가지가 있는데, 차이를 알아보자.
| 항목 | layoutMargins | directionalLayoutMargins |
| 타입 | UIEdgeInsets | NSDirectionalEdgeInsets |
| 방향성 | 왼쪽/오른쪽 기준 (left, right) | 시작/끝 기준 (leading, trailing) |
가장 큰 특징은 directionalLayoutMargins은 LTR, RTL을 고려한다.
또한 iOS11 이후부터는 directionalLayoutMargins 사용을 권장한다.
🦺 insetsLayoutMarginsFromSafeArea
safeArea의 여백을 layoutMargin에 포함할지 말지를 결정한다.
- true일 때: safe area의 inset 값이 layoutMargins에 포함됨
- false일 때: safe area의 inset 값이 layoutMargins에 포함되지 않음


🚩 isLayoutMarginsRelativeArrangement
UIStackView에 margin을 적용하지, 말지를 나타내는 플래그 프로퍼티다.
margin을 적용하더라도, 이 프로퍼티를 true로 바꾸지 않으면 적용이 무시된다.
출처
https://developer.apple.com/documentation/uikit/uiview/insetslayoutmarginsfromsafearea
insetsLayoutMarginsFromSafeArea | Apple Developer Documentation
A Boolean value indicating whether the view’s layout margins are updated automatically to reflect the safe area.
developer.apple.com
https://ios-development.tistory.com/1498
[iOS - swift] UIStackView에 padding 넣는 방법 (UIStackView Margin, isLayoutMarginsRelativeArrangement, directionalLayoutMar
UIStackView의 padding 보통 UIStackView를 사용하면 UIStackView안의 아이템들 spacing은 setCustomSpacing(_:after:) 메소드를 사용하여 구현이 가능 stackView.setCustomSpacing(16, after: label1) 만약 UIStackView에 추가한 아이
ios-development.tistory.com
directionalLayoutMargins | Apple Developer Documentation
The margins between the content and the edges of the content view.
developer.apple.com
https://developer.apple.com/documentation/uikit/uistackview/islayoutmarginsrelativearrangement
isLayoutMarginsRelativeArrangement | Apple Developer Documentation
A Boolean value that determines whether the stack view lays out its arranged views relative to its layout margins.
developer.apple.com