1. 잔잔바리 지식들

1-1. translatesAutoresizingMaskIntoConstraints = false를 쓰지 않아도 되는 이유

코드로 레이아웃을 잡아줄 때에는 코드를 작성해야하나 snapkit은 프로토콜로 정의되어 있기 때문에 알아서 적용되서 안해도 된다!

extension LayoutConstraintItem {
  internal func prepare() {
    if let view = self as? ConstraintView {
      view.translatesAutoresizingMaskIntoConstraints = false
    }
  }
}

1-2. offset, inset 차이점

offset: 현재 뷰 constraint = 슈퍼뷰 constraint + offset값

inset: UIEdgeInset과 동일한 효과

1-3. left vs leading, right vs trailing 차이

leading, trailing 설정 → right-to-left 순서에서 화면이 거꾸로 표시됨

left, right설정 → 화면 거꾸로 표시 x

⇒ text를 보여줄 땐 leading, trailing

⇒ 지도와 같은 이미지는 left, right 권장

2. updateConstraints vs remakeConstraints

remakeConstraints: 새로운 레이아웃을 적용해야 할 경우

updateConstraints: 기존에 작성된 레이아웃에서 값을 변경해야 할 경우