본문 바로가기
2022_iOS 앱 개발자 워크숍/2, Auto Layout

Auto Layout : Constant

by 황민우 2022. 1. 14.

Constant는 상수입니다.

item1.attribute1 = multiplier*item2.attribute2+constant 

공식에서 제약에 대한 값으로, 제약을 생성한 후에도 변경할 수 있습니다.

그렇기 때문에 런타임의 제약을 업데이트하는 용도로 사용합니다.


YellowView를 하나 생성하고 Center X,Y 제약과 너비 240, 높이 180의 제약을 추가하겠습니다.

YellowView를 선택하고 Size Inspector를 클릭하면

Constraints를 확인 할 수 있습니다.

그 중 Width Equals의 Edit을 눌러보겠습니다.

-

그럼 Constant에 초기에 준 240의 값이 설정되어 있습니다.

값을 300으로 변경해보겠습니다.

이렇게 Edit를 통해 너비와 높이에 대한 값을 수정할 수 있습니다.

또한 Center X, Y의 값을 변경할 수도 있습니다.

Center X와 Y는 처음 정렬값을 수정하는것이 아닌, 초기 정렬값에 부가적으로 값을 추가해주는 개념으로 적용됩니다.

Center X와 Y의 Constant 값을 변경할 때는 음수를 사용하기 보단 양수를 사용하는것이 좋으며

X, Y를 각각 왼쪽, 아래쪽으로

즉, 음수값으로 변경할 상황에서는 item1,2를 변경하여 양수값으로 수치를 입력하는 방법이 있습니다.


이어서 버튼을 추가하고 보조편집기를 열어 기능을 입력하도록 하겠습니다.

버튼을 클릭하면 YellowView크기가 200,200으로 변하는 코드를 입력해줍니다.

하지만 시뮬레이터로 실행해볼 경우 정상적으로 작동하는것 같지만,

화면을 회전했을 때 YellowView의 크기가 원래대로 돌아오는 오류가 발생합니다. 

-

그렇기 때문에 width 제약과 Height 제약에 직접 접근하여 Constant값을 변경해야합니다.

씬에 추가된 모든 요소와 제약은 아울렛과 연결할 수 있기때문에,

YellowView가 아닌 제약을 통해 코드를 작성해보겠습니다.

-

YellowView의 높이, 너비 제약을 코드에 드래그앤드롭 해줍니다.

그리고, 업데이트 버튼에 대한 소스코드를 재작성해줍니다.

시뮬레이터를 실행해보겠습니다.

버튼을 누르기 전 / 버튼 누른 후

 

화면 회전

다음 결과를 통해 사소한 부분에서 Auto Layout의 활용성을 알 수 있습니다.


내용출처 = https://www.youtube.com/watch?v=vDm71KDkMFE 

 

댓글