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배로 늘리겠다.