본문 바로가기
iOS_Mac기능 정리/Auto Layout(오토레이아웃)

AutoLayout - self sizing

by chozjjae 2022. 1. 13.

Auto Layout의 기본기능 self sizing 살펴보기


크기에 맞는 Constraints(제약)설정 알아보기

Label을 추가 한 후 제약을 걸게 된다면 Label의 내용과 상관없이 Relation이 Equal로 설정되어있습니다.


UI View

Label을 UI view에 넣은 후 제약 조건을 걸어주면 글자 수에 맞춰서

UI view가 같이 늘어났다 줄어들었다 합니다. 

*이와 같은 Lable사용방법은 채팅창에서 많이 사용됩니다.

*Lines가 1로 되어있다면 한줄로 표시하라는 뜻이기 때문에 Lines를 0으로 만들어줍니다.


 UI view의 가로 공백 없애주기

글자 수는 작지만 UI view의 크기는 고정되어 있기 때문에 남는 칸이 많을 수도있습니다.

이럴때 줄이고 싶은 라인을 잡고 Relation을 Greater Than or Equal로 바꿔준다면

제한적인 값 Constant의 값은 그대로 이지만 글자 수가 적을때 UI view의 모양 또한 작게 바뀌는것을 볼 수 있습니다.


UI view의 세로 제한 정하기

UI view 속에 있는 Label이 늘어나면 같이 늘어나기 때문에 UI view에서 어느정도 제한을 두려고 합니다.

이럴때도 마찬가지로 Relation을 이용합니다.

1. 먼저 UI view에 높이를 어느정도로 할것인지 지정한 후

2. 지정한 Constraints안으로 들어가 Relation을 Less Than or Equal로 바꿔주면

150의 높이 제한을 가진 UI view가 생기게 됩니다.


모든 설정을 마치고 난 후 실행 화면

주의 깊게 봐야할 화면 

1. 글자 수에 따라 좁아졌다가 87Constant 제한까지만 늘어나는 가로

2. 글자 수에 따라 늘어나지만 150 Height까지로 제한을 두는 세로


참고 영상 : https://www.youtube.com/watch?v=RsulV-KCtss&list=PLgOlaPUIbynpvYsyKTrH2bpVlOCHkz6OY&index=3