티스토리 뷰
728x90
반응형
아래의 뷰를 만들기 위한 과정 중에서 알게된 SnapKit 사용법을 적어보자.
- 화면의 y축 중심으로부터 constraint 를 잡고싶다.
- 너비 대비 높이를 비율로 잡고싶다.
우선 아래와 같은 레이아웃을 잡고싶었다.

그래서 다음과 같이 코드를 작성하였다.
// "기본" 이라고 적힌 UIView.
basicBackgroundView.snp.makeConstraints { make in
// 🚨 inset 이 적용되지 않아서 y축 중심에 위치.
make.bottom.equalTo(view.snp.centerY).inset(-63)
make.leading.trailing.equalToSuperview().inset(24)
// 🚨 multipliedBy 가 적용되지 않아서 뷰에서 보이지 않음.
make.height.equalTo(basicBackgroundView.snp.width).multipliedBy(117 / 327)
}
// 나머지 "직장", "덕질" 이라고 적힌 UIView 는 높이를 정적이게 설정.
결과는 아래와 같았다.

이런 경우에 다음과 같이 코드를 작성하면 된다.
basicBackgroundView.snp.makeConstraints { make in
// ✅ inset 이 아닌 offset 으로 다룸.
make.bottom.equalTo(view.snp.centerY).offset(-63)
make.leading.trailing.equalToSuperview().inset(24)
// ✅ 소수점을 표시해줌.
make.height.equalTo(basicBackgroundView.snp.width).multipliedBy(117.0 / 327.0)
}728x90
반응형
'iOS' 카테고리의 다른 글
| iOS) Widget view 의 이미지 맥시멈 사이즈 (0) | 2023.05.09 |
|---|---|
| iOS) FlexLayout 과 PinLayout 을 사용하여 UI 구현 (2) | 2023.03.25 |
| iOS) Code Signing 과 Fastlane match 설정 (6) | 2023.02.21 |
| iOS) Widget 의 placeholder, snapshot, timeline 확인해보기 (0) | 2023.02.10 |
| iOS) 잠금화면 위젯 이미지 에셋 적용기 (0) | 2023.02.03 |
댓글
TAG
- watchOS
- WWDC
- urlsession
- WidgetKit
- OpenSourceLibrary
- configurable widget
- Protocol
- UserDefaults
- YPImagePicker
- github
- containerBackground
- RxCocoa
- 서버통신
- SwiftUI
- Objective-C
- Swift
- APNS
- Notification
- 2022 KAKAO TECH INTERNSHIP
- Algorithm
- Widget
- async/await
- WWDC22
- MVVM
- rxswift
- MOYA
- projectsetting
- Firebase
- CloneCoding
- IOS
최근에 올라온 글
최근에 달린 댓글
글 보관함
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
링크
- Total
- Today
- Yesterday