본문 바로가기

iOS

[iOS] SnapKit 사용하기

코드로 UI를 짜다 보면 `NSLayoutConstraint`를 주기 위해서 엄청난 코드의 양을 사용해야 할때가 많다.

요소가 적을 때는 괜찮지만 들어가는 요소가 많아지게 되면 `Contstraint`를 위한 코드가 엄청난 양을 차지하게 된다.

쌓이게 되면 엄청난 양이 되어버리는 레이아웃

이것을 간결화하기 위한 것이 SnapKit 라이브러리이다.

https://github.com/SnapKit/SnapKit

 

 

SnapKit import하기

Xcode를 실행시키고

프로젝트 -> Package Dependencies -> +버튼

여기서 +를 누르고 깃허브링크를 입력하면 Package 설치가 완료된다.

완료된다면 이렇게 프로젝트 아래에 Package가 따로 뜬다.

 

 

SnapKit의 사용

import SnapKit

일단 `import`를 해주고, `사용하고싶은 뷰.snp.makeConstraints(Colsure)`형식으로 사용하면 된다.

`NSLayoutConstraint`에서 사용했던 `translatesAutoresizingMaskIntoConstraints`는 생략해도 되고, `isActive` 또한 생략할 수 있다.

 

myView.snp.makeConstraints({make in
    make.top.left.equalToSuperview().offset(50)
    make.right.equalToSuperview().offset(-50)
    make.height.equalTo(200)
})

위처럼 `top`, `left`, `right`등의 여러가지 요소들을 한꺼번에 처리 할 수 있고, `offset`도 한번에 처리할 수 있어 코드의 양이 확 줄어든다. 

이외에도 `centerX`, `centerY`같이 중심에 해당하는 요소도 존재한다.

 

 

+

존재하는 constraint를 업데이트 할 때는 `updateConstraints`를 통하여 할 수 있고(ex. 키보드 이벤트 시)

삭제하는 것은 `removeConstraints()`, 기존의 것을 무시하고 새로 만들 때는 `remakeConstraints`를 사용하여 만들 수 있다.

'iOS' 카테고리의 다른 글

[iOS] MVC모델의 효과적인 사용  (0) 2023.09.18
[iOS] 코드로 UINavigationController 사용하기  (0) 2023.09.14