오늘의일기

오늘의일기 Snapkit 사용해보기

dever 2021. 7. 8. 23:35

오늘은 SnapKit을 사용해보았다 어제 Texture를 한번 살펴보고 레이아웃을 도와주는 여러 라이브러를 검색해보다가 SnapKit을 사용해보았다. Texture같은 경우엔 Node라는 View를 Wrapping하고 있는 새로운 클래스를 만들어서 새로운 LifeCycle을 가지고 뷰를 관리 해주고 여러 무거운 작업들을 백그라운드에서 실행 시킴으로서 프레임드랍이 없게 도와주는 조금은 크고 무거운 라이브러리 였다면 SnapKit은 Auto layout을 더 간편하게 사용할 수 있게 도와주는 라이브러리 였다.

 

NSLayoutConstraint.activate([
	collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
	collectionView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
	collectionView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
	collectionView.topAnchor.constraint(equalTo: imageView.bottomAnchor)
])
        
collectionView.snp.makeConstraints { make in
	make.leading.trailing.bottom.equalToSuperview()
	make.top.equalTo(imageView.snp.bottom)
}

위에는 auto layout을 직접 사용한 것이고 밑에는 snapKit을 이용하여 사용한 예시이다. 코드량이 확 줄어 든것을 확인 할 수 있다. 같은 제약사항이라면 leading. trailing 이렇게 이어서 한번에 선언할 수 있는 점이 좋았고 

 

또 짧지만 사용하면서 느낀점은 remakeConstraints으로 기존의 레이아웃을 다 버리고 새로운 레이아웃으로 다시 선언해주는데 View를 animation 하는데 있어서 remake를 한다면 굉장히 간편하게 애니메이션을 할 수 있다.