본문 바로가기
iOS

Swift - Snapkit 사용법 정리

by minsol Kim 2024. 3. 4.

Snapkit : iOS에서 Autolayout을 코드로 구현할 때 쉽고 편리하게 도와주는 라이브러리

사용 이유 

: translatesAutoresizingMaskIntoConstraints = false 설정은 기본으로 되어있어, 별도로 작성하지 않아도 된다.

: 한눈에 볼 때 코드의 길이와 가독성이 좋아진다. 

사용 방법

: 적용을 원하는 view에 snp 프로퍼티를 호출하고 makeConstraints 메서드를 호출한다. 

사용 예시

모든 앵커와 제약 조건 자체를 함께 연결하는 것이 가능

mainScrollview.snp.makeConstraints {
            $0.top.leading.trailing.bottom.equalToSuperview()
        }

 -> edges 를 이용해 더 간결하게 작성 가능

mainScrollview.snp.makeConstraints {
            $0.edges.equalToSuperview()
        }

 

offset : element 와의 간격 사용

inset :  superview와의 간격에 사용

 

 

스냅킷을 사용하여  팝업창 ui를 구현했다. 

팝업뷰는 세로 중앙에 위치해 있으며 부모 뷰로부터 좌우 여백 32만큼 떨어져있다. 

self.popupView.snp.makeConstraints {
      $0.left.right.equalToSuperview().inset(32)
      $0.centerY.equalToSuperview()
    }

 

취소, 완료 버튼 같은 경우 

divided by  사용

self.leftButton.snp.makeConstraints {
      $0.top.equalTo(self.separatorLineView.snp.bottom)
      $0.bottom.left.equalToSuperview()
      $0.width.equalToSuperview().dividedBy(2)
      $0.height.equalTo(56)
    }
    self.rightButton.snp.makeConstraints {
      $0.top.equalTo(self.separatorLineView.snp.bottom)
      $0.bottom.right.equalToSuperview()
      $0.width.equalToSuperview().dividedBy(2)
      $0.height.equalTo(56)
    }

댓글