study record

[iOS] 스냅킷(SnapKit) inset과 offset 본문

iOS/iOS 정리

[iOS] 스냅킷(SnapKit) inset과 offset

asong 2022. 3. 1. 23:47

offset을 쓸 때

"현재 뷰 constraint = 슈퍼뷰 constraint + offset 값”를 생각하고 세팅한다.

button.snp.makeConstraints { make in
      make.top.equalToSuperview().offset(50)
      make.left.equalToSuperview().offset(50)
      make.right.equalToSuperview().offset(-50)
      make.bottom.equalToSuperview().offset(-50)
  }

기준이 되는 view에 맞추어서 제약을 설정한다. botton과 right는 마이너스 부호를 가지게 된다.

 

inset을 쓸 때

button.snp.makeConstraints { make in
    make.edges.equalToSuperview().inset(UIEdgeInsets(top: 50, left: 50, bottom: 50, right: 50))
		$0.edges.equalToSuperview().inset(50)
}

// 동일 코드: make.edges.equalToSuperview().inset(50)

위의 offset 코드와 같다.

botton과 right는 음수가 아닌 양수 값이다.

모든 값이 같은 값이라면 inset을 사용해 더 깔끔하게 만들 수 있다.

 

edges: 가장자리를 일괄적으로 제약 조건 생성 (top, left, right, bottom)

 

offset은 다른 요소와의 간격에 사용하고,

inset은 superView와의 간격에 사용한다.

 

스냅킷 View 속성들과 NSLayoutAttribute

참고 : https://eunjin3786.tistory.com/202

https://ios-development.tistory.com/609

https://rldd.tistory.com/200?category=988411

https://mini-min-dev.tistory.com/79