-
Library - SnapKit 사용해보기Programming/Library 2022. 3. 11. 21:25
안녕하세요 BeePeach입니다 :)
이번에 공부해볼 내용은 바로 SnapKit입니다.
코드로 Autolayout을 작성할 때 편리하게 해주는 오픈소스 라이브러리입니다.
https://github.com/SnapKit/SnapKit
사용해보기
먼저 SnapKit을 사용하지 않고 view를 하나 추가해보겠습니다.
일단 translateAutoresizingMaskConstraints를 false로 해주어야 합니다.
그리고 각 anchor에 constraint를 설정해주고 따로 isActive를 이용하거나 혹은 NSLayoutConstraint에서 제공해주는 activate(_:) 타입 메서드를 이용해서 꼭 활성화를 시켜줘야 합니다.
그럼 이 코드를 SnapKit을 이용해서 줄여보겠습니다.
일단 한눈에 봐도 코드의 길이와 가독성이 좋아진 것을 느낄 수 있습니다.
가장 기본적인 사용방법은 적용을 원하는 View에 snp 프로퍼티를 호출하고 makeConstraints(_:) 메서드를 호출합니다.
이 메서드는 클로저를 파라미터로 받는데요.
여기에 원하는 constraint를 설정해주면 됩니다.
일단 눈에 띄는 부분은 translateAutoresizingMaskConstraints = false 코드가 필요 없어졌습니다.
내부적으로 호출하고 있기 때문에 따로 해 줄 필요가 없습니다.
그리고 anchor들을 각각 따로따로가 아닌 한 번에 묶어서 설정해줄 수 있습니다.
코드를 보면 leading.trailing.top을 한번에 묶어서 처리를 했죠?
그리고 isActive와 같은 활성화 코드도 필요가 없어졌습니다.
이제 다른 코드도 한번 볼까요??
multipleBy()
만약 비율로 조정을 원한다면 multipledBy()를 사용합니다.
Inset
inset을 정할 때는 inset을 이용하고 UIEdgeInset으로 지정해줍니다.
Center
centerX, centerY를 따로 할 수도 있지만 center로 한 번에 지정 가능합니다.
Priority, GreaterThan, SafeArea
priority는 priority를 이용합니다.
그리고 equal만 있는 게 아니라 greaterThen과 같은 것도 있습니다.
sateArea는 safeAreaLayoutGuide를 이용해서 지정해줍니다.
참고자료
https://www.raywenderlich.com/3225401-snapkit-for-ios-constraints-in-a-snap
728x90'Programming > Library' 카테고리의 다른 글
Library - Kingfisher 사용해보기 (0) 2022.03.14 Library - Lottie 사용해보기 (0) 2022.03.14 Library - Then 사용해보기 (0) 2022.03.11 iOS - Cocoapods 기초 (0) 2021.11.10