티스토리 뷰

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
반응형
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
«   2024/11   »
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