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)
}
'iOS' 카테고리의 다른 글
Swift - final class (0) | 2024.03.30 |
---|---|
Swift - CollectionViewDelegateFlowLayout (0) | 2024.03.27 |
Swift - ScrollView Codebase 정리 (0) | 2024.03.27 |
Swift - StoryBoard 없이 CodeBase 로 하는법 (0) | 2024.03.26 |
Swift - 데이터 전달 방식 [Delegate Pattern] (0) | 2024.03.03 |
댓글