layoutMargins
뷰의 경계선과 컨텐츠 사이의 공간. 웹에서의 padding과 같은 역할. UIEdgeInsets 타입.
스토리보드에서 Editor -> Canvas -> Layout Rectangle을 통해 확인 가능.
Constrain to margins
오토레이아웃을 margin에 맞출것인지, superView의 경계선에 맞출것인지를 체크하는 옵션
subView를 추가하고 constraints를 파란뷰의 constraints를 상하좌우 0,0,0,0으로 주면
superView인 붉은색 뷰의 margins를 기준으로 레이아웃이 잡힌것을 확인
constrain to margins를 끈채로 constraints를 상하좌우 0,0,0,0으로 주면 View의 경계선을 기준으로 레이아웃이 적용
UIEdgeInsets
뷰의 가장자리를 설정해 주는 struct. 양수를 주면 그만큼 프레임이 감소, 음수를 주면 프레임이 증가.
CGRect.inset(by: UIEdgeInsets)
기존 CGRect의 값을 UIEdgeInsets를 적용시킨값으로 리턴. center를 중심으로 변경
CGRect.insetBy(dx: CGFloat, dy: CGFloat),
기존 CGRect의 값을 top, bottom을 dx만큼, leading, trailing을 dy만큼 UIEdgeInsets를 적용시킨 값으로 리턴. center를 중심으로 변경
testView.bounds = testView.bounds.insetBy(dx: 40, dy: 40)
testView.bounds = testView.bounds.inset(by: UIEdgeInsets(top: 40, left: 40, bottom: 40, right: 40))
'iOS > 앱 개발' 카테고리의 다른 글
Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior 오류 (0) | 2023.02.09 |
---|---|
UICollectionViewLayout, UICollectionViewFlowLayout (0) | 2023.02.08 |
iOS) 어디에서나 사용 할 수 있는 로딩 뷰 만들기 (0) | 2023.01.31 |
Swift) Notifications (0) | 2023.01.27 |
RxCocoa) UICollectionViewController를 바인딩 할 경우 앱이 죽는 버그 (0) | 2023.01.21 |