[Swift] Snapkit - inset, offset 언제 사용해야할까?

     

     

    Inset 언제 사용할까?

    inset은 superView를 기준으로 안쪽으로 간격을 주고싶을 때 사용한다.

    // 회색뷰가 view의 subView, view가 회색뷰의 superview인 상태
    view.addSubview(grayView)
    grayView.snp.makeConstraints {
        $0.top.equalToSuperview().inset(100) // view의 top으로부터 안쪽으로 간격 100 추가
        $0.leading.equalToSuperview().inset(100) // view의 leading으로부터 안쪽으로 간격 100 추가
        $0.trailing.equalToSuperview().inset(100) // view의 trailing으로부터 안쪽으로 간격 100 추가
        $0.bottom.equalToSuperview().inset(100) // view의 bottom으로부터 안쪽으로 간격 100 추가
    }

     

    superview로부터 top, leading, trailing, bottom과의 간격이 100이 된다.

     

    superview로부터 안쪽으로 간격을 준 상태

     

     

     

     


     

     

     

     

    offset 언제 사용할까?

    offset은 superview가 아닌 뷰에 간격을 주고싶을 때 사용한다.

    // 서로가 superView, subView 관계가 아닌 상태
    view.addSubview(whiteView)
    view.addSubview(grayView)
    grayView.snp.makeConstraints {
        $0.top.equalTo(whiteView.snp.bottom).offset(100) // 흰색 뷰의 bottom으로부터 100 간격 추가
        $0.width.height.equalTo(300)
        $0.centerX.equalToSuperview()
    }

     

    흰색 뷰의 bottom으로부터 회색 뷰의 top이 100 떨어지게 된다.

    흰색뷰로부터 간격을 준 상태

     

     

     

     

     


     

     

     

    정리

    - inset : superview, subview 관계에서 subview가 superview로부터 간격을 주고싶을 때 사용

    - offset : 부모자식관계가 아닌 뷰로부터 간격을 주고싶을 때 사용, bottom or right(trailing)에 간격을 줄 때에는 음수(-) 사용

     

     

     

     

     

    혹시 잘못된 정보가 있다면 댓글로 알려주시면 감사드리겠습니다 (ㅡㅡ)

    끄 ㅡ 읕 !

     

     

    'Swift' 카테고리의 다른 글

    [Swift] 상태에 따라 UIButton Title 변경하기  (0) 2023.07.03

    댓글