Swift - 라이브러리

Swift - [SnapKit] snp.updateConstraints()

Goniii 2024. 10. 20. 17:54

📑 학습 내용

  • updateConstraints() : 뷰의 제약조건 업데이트
  • 변경해야 하는 항목만 업데이트 가능함
self.homeView.underlineView.snp.updateConstraints { make in
	make.leading.equalToSuperview().offset(currentX)
	make.width.equalTo(lineWidth)
}
  • 아래의 기존 constraints 에서 top, height은 그대로 두고 leading, width 값만 변경
  • 기존 constraints
        underlineView.snp.makeConstraints { make in
            make.top.equalTo(segmentedControl.snp.bottom).offset(-1)
            make.height.equalTo(2)
            make.width.equalTo(50)
            make.leading.equalToSuperview()
        }
  • target 일치
    • 처음 makeConstraints로 target을 부모뷰(equalToSuperView)로 잡았다면, updateConstraints에서도 target을 부모 뷰로 해야만 업데이트가 이루어진다
    • 위 예시에서 width는 equalTo로 target을 잡았다면, updateConstraints에서도 equalTo로 target을 잡아야 한다
    • 만약, make.width.equalToSuperview()로 업데이트하면, 업데이트 되지 않는다.

 

📚 참고 자료