[TIL] SnapKit

Eden·2025년 6월 13일

SnapKit이란?

  • iOS 및 macOS 개발에서 Auto Layout을 코드로 쉽게 작성할 수 있게 도와주는 DSL(Domain Specific Language) 라이브러리입니다.
  • NSLayoutConstraint를 직접 작성하는 것보다 간결하고 가독성이 뛰어납니다.

주요 특징

  • 체이닝 방식으로 제약조건을 선언하여 가독성 향상
  • 다양한 제약조건 지원: 위치, 크기, 마진, 중앙 정렬 등
  • makeConstraints, updateConstraints, remakeConstraints 세 가지 메서드로 유연한 제약조건 관리 가능

기본 사용법

view.snp.makeConstraints { make in
    make.top.equalTo(superview).offset(10)
    make.left.equalTo(superview).offset(20)
    make.width.height.equalTo(100)
}

주요 메서드 설명

  • makeConstraints : 처음 제약조건을 설정할 때 사용
  • updateConstraints : 기존 제약조건 중 일부를 업데이트할 때 사용
  • remakeConstraints : 기존 제약조건을 모두 제거하고 새로 설정할 때 사용

자주 사용하는 속성

  • make.top, make.left, make.right, make.bottom : 뷰의 가장자리 위치 지정
  • make.width, make.height : 뷰 크기 지정
  • make.centerX, make.centerY : 뷰 중앙 정렬
  • offset(), inset() : 위치나 크기에 여백 조절

장점

  • 코드가 간결해지고 가독성이 좋아짐
  • 인터페이스 빌더 없이도 정확한 레이아웃 작성 가능
  • 유지보수 및 수정이 용이

참고사항

  • SnapKit은 오토레이아웃 이해가 선행되어야 활용도 높음
  • Swift Package Manager, CocoaPods, Carthage로 쉽게 설치 가능
profile
iOS Dev

0개의 댓글