개발/아이오에스

swift] 상황(조건)에 맞는 NSLayoutConstraint 처리

dev.jake 2021. 7. 5. 11:58

    struct TransitionCst {

        var tableViewHeight     : NSLayoutConstraint?

        var existListConstraitY : NSLayoutConstraint?

        var existListConstraitN : NSLayoutConstraint?

    }

 

스크롤뷰안에 뷰의 bottomAnchor은 스크롤의 길이를 결정 - viewInScroll.bottomAnchor

mCst.existListConstraitY = mCon.tableView.bottomAnchor.constraint(equalTo:   mCon.viewInScroll.bottomAnchor)

 mCst.existListConstraitN = mCon.emptyText.bottomAnchor.constraint(equalTo:   mCon.viewInScroll.bottomAnchor, constant: -10)

 

각 viewInScroll.bottomAnchor를 이렇게 선언을 해두고

 

func test(){

if tmpArrs.count == 0 {

            

            mCst.existListConstraitY?.isActive = false

            mCst.existListConstraitN?.isActive = true

            

            mCon.emptyText.isHidden = false

        }else{

            

            mCst.existListConstraitN?.isActive = false

            mCst.existListConstraitY?.isActive = true

            

            mCon.emptyText.isHidden = true

        }

}

 

위  함수처럼 해당 상황에 따라 해당 값을 isActive를 T/F로 변경하며 NSLayoutConstraint를 적용할 수 있다.