본문 바로가기
🍎iOS프로그래밍/AutoLayout

오토레이아웃 Auto Layout - 4(기타)

by 둥둥동동# 2022. 1. 12.
728x90

 

순서

 

Attribute(속성) 살펴보기

Constant 수정하기
priority 수정하기

 

 

item1.attribute = multiplier * item2.attribute + constant

 

 

Attribute(속성) 살펴보기

 

Left : 왼쪽  (요즘엔 사용되지 않음)

Right : 오른쪽  (요즘엔 사용되지 않음)

Leading : 글의 시작점을 의미합니다 (한국에서는 왼쪽,  아랍권에선 오른쪽)

Trailing : Leading의 반대 의미를 지닙니다

top : 위

bottom : 아래

 

 

 

Constant 수정하기

 

코드를 통해 Constant 값을 직접 수정해 보겠습니다

버튼을 클릭하면 blue뷰의 frame값을 변경하는 코드입니다

Auto Layout은 제약을 기준으로 최종프레임을 결정합니다

즉, frame을 직접 변경하면 화면 이벤트가 생길 때 마다 Auto Layout으로 설정한 값으로 되돌아 갈 수 있다는 것입니다

 

Constraints도 뷰처럼 Outlet으로 선언이 가능합니다

Constant를 선언해 직접 값을 수정해 줍시다

 

 

 

 

priority 수정하기

 

모든 제약은 우선순위를 갖습니다

똑같은 제약이 같은 우선순위를 가지면 오류가 발생합니다

redView는 width제약을 두개 가지고 있어 우선순위를 변경할 필요가 있습니다

 

 

240제약의 우선순위를 999로 내리자 오류가 사라지고 120제약이 적용되었습니다

 

 

아래는 버튼을 클릭 할 때 마다 크기를 변경하는 코드를 작성했습니다

 

우선순위를 동적으로 변경할 때는  옵션->필수(1000)   필수(1000)->옵션 으로 변경하지 못합니다

prioritys는 정수값이 아닌 UILayoutPriority구조체 값을 갖습니다

 

 

required는 1000   defaultHigh는 750. defualtLow는 600 과 같습니다

 

 

이렇게도 표현이 가능합니다

 

 

 

 

참고자료

KxDing 유튜브 강의 

 

 

728x90

댓글