[Swift] 코드로 AutoLayout 설정하기, constraint만 간단히

yxxjxn·2023년 7월 19일
view.addSubview(countLabel)
  • addSubview 이후에 AutoLayout 관련 코드를 작성해야한다.
    • viewController의 view와 해당 subview의 기본 관계가 성립되어야 레이아웃의 상대성이 생기기 때문이다

제약 조건을 만드는 방법

  1. 자동으로 제약 변환 기능 끄기

    countLabel.translatesAutoresizingMaskIntoConstraints = false
  2. 제약 조건 만들기

    1. 화면 한가운데로 만들기

      NSLayoutConstraint.activate([
            // countLabel의 중심 X축을 viewController의 view가 가지는 중심 X축과 동일하게 만든다
            countLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor),
                  
            // countLabel의 중심 Y축을 viewController의 view가 가지는 중심 Y축과 동일하게 만든다
            countLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor),
      ])
    2. 특정 서브뷰를 기준으로 거기서 50만큼 아래로 떨어진거 만들기

      plusTwoButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
      plusTwoButton.topAnchor.constraint(equalTo: countLabel.bottomAnchor, constant: 50).isActive = true

sample code

inputTemp.placeholder = "온도를 입력하세요"
inputTemp.textAlignment = .center
view.addSubview(inputTemp)
inputTemp.translatesAutoresizingMaskIntoConstraints = false
inputTemp.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
inputTemp.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -50).isActive = true
profile
macos

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

글 잘 봤습니다, 많은 도움이 되었습니다.

답글 달기