iOS
[swift] AutoLayout 기초 개념 한번에 정리
D0HAN.
2021. 5. 10. 02:53
- 해당 뷰의 x,가로/ y,세로 가 모두 충족되어야함. (혹은 네 방향 앵커)
- Add missing constraint 누르면 자동으로 추가해줌. '
- constraints 충돌시 width, height 보다 ancohor가 우선
Scroll View AutoLayout
- 스크롤 뷰는 처음에 앵커잡아도 빨간줄이 뜸 --> content가 없기 때문
- 처음에 스크롤뷰 바로 아래에 UIView 하나 넣는게 편함
- View의 제약조건을 Content Layout Guide에 건다.
- View와 Frame Laout Guide에 equal width(세로스크롤일 경우)/equal height(가로스크롤) 건다.
- 그리고 필요한만큼 heigth 설정
- 화면 넘어가는 부분 작업할때는 view controller누르고 sizeinspector에서 simulated size를 freeform으로 바꾼후 필요한만큼 가로세로 조정
Priority
- 기본 priority(우선순위) 값은 1000 -> 가장 강한 우선순위
- 숫자가 작을수록 우선순위가 밀림
Content Hugging Priority
- 두개의 뷰 사이의 제약조건 때문에 둘 중 하나를 끌어당겨야 하는데 어디를 당길거냐. 결정
- 기본 값은 251
- 숫자 큰 쪽은 온전한 채로, 숫자 작은 쪽이 늘어남.끌어당겨짐.
Content Compression Resistance Priority
- 둘 사이의 제약조건이 전체 프레임보다 클때! 공간이 부족해 누군가 밖으로 밀어내야하는 상황
- 기본값 750
- 숫자가 큰 쪽이 작은쪽을 밀어냄
- 둘 사이의 제약조건이 전체 프레임보다 작을때! 공간이 남아 누군가는 늘어나야 하는 상황일 때 적용
StackView
- 안에 크기를 알수있는(크기지정된 view,혹은 label 등) 컴포넌트를 넣으면 저절로 크기가 맞춰짐
- Distribution-fill 로 줬을때는 보정값 x
- Distribution-fill equally 로 주면 한개만 크기 있어도 가장 큰 크기에 맞춰서 크기가 같아
- Distribution-fill proportionally 각각의 크기에 맞게 비율 조정됨
- Alignment 는 스택뷰 내부에서의 정렬 (위, 중앙, 아래)
개발하는 정대리님의 강의를 듣고 정리했습니다!