SnapKit사용법

작성일

pod파일 설치

pod 파일을 생성후

pod init

pod 파일을 열어서

pod 'SnapKit'

작성 저장후

pod install

을 하면 설치 끝!

import

사용할 뷰에

import SnapKit

하면 준비 끝!!!

사용법

offset? inset?

  • inset: superView와의 간격에 사용
  • offset: element와의 간격에 사용
yellowBox.snp.makeConstraints { make in
  make.edges.equalTo(self.view)
}

기본적인 사용법이다.
사용하고싶은 뷰에 .snp 로접근 후 클로져형태로 사용하면된다.

크기설정

make.width.height.equalTo(100)

넓이와 높이를 100만큼 주겠다.

  • 크기 따로 설정
    make.width.equalTo(100)
    make.height.equalTo(100)
    

    이렇게 따로따로 설정도 가능하다.

제약 조건

  • 모든 모서리(탑, 리딩, 트레일링, 바텀)에 제약을 줄것이다.
    make.edges.equalTo(self.view)
    
  • 여기에서 패딩값을 주고싶으면,
    make.edges.equalTo(self.view).inset(UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20))
    

    이런 방식으로 .inset을 사용해서 패팅값을 주면 된다.

다른 방식으론,

make.edges.equalToSuperview().inset(UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20))

바로 위에랑 같은 코드이다.

아니면

make.width.height.equalTo(100)
make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top)
make.centerX.equalToSuperview()

이런식으로 설정도 가능하다.
크기, 높이 100 top의 높이 는 safeAreaLayoutGuide와 같이 설정하고, x의 좌표 가로의 좌표는 가운데 설정이란 뜻이다.

  • 다른뷰에 접근 하려면
    make.top.equalTo(redBox.snp.bottom)
    

    이렇게 그 View에 .snp로 접근해야한다.

  • 다른뷰에 접근하고 그 뷰에서 거리를 띄울려면
    make.top.equalTo(redBox.snp.bottom).offset(20)
    

    이렇게 .offset(크기)를 작성하면 그만큼의 길이를 띄울 수 있다.

  • 나눌때 사용
make.width.equalTo(redBox.snp.width).dividedBy(2)

지정한 뷰의 1/2 배로 하겠다.

  • 곱할떄 사용
make.width.equalTo(redBox.snp.width).multipliedBy(2)

2배로 늘리겠다.