stack 방향(axis)에 따라 Vertical스택과 Horizontal스택이 있다
요소들을 묶어 'Embed In Stack View'
원래 사용하던 '요소들의 제약들'에 더해,
(바로 아래에서 알아볼) Stack view 자체 설정이 합쳐져 최종적으로 제약이 완성된다
UIStackView.Distribution
- fill : 그냥 채우기
- equalSpacing : content border간 간격(empty space)을 동일하게
- equalCentering : center간 간격을 동일하게
- fillEqually : 같은 너비로
- fillProportionally : content에 비례
UIStackView.Alignment
Vertical Stack
- leading : 부모 view의 leading쪽으로 정렬.
- trailing : 부모 view의 trailing쪽으로 정렬.
Horizontal Stack
- top : 부모 view의 top쪽으로 정렬.
- bottom : 부모 view의 bottom쪽으로 정렬.
- firstBaseline : 각 요소의 content들의 첫 번째 줄들 간 align.
- lastBaseline : 각 요소의 content들의 마지막 줄들 간 align.
- center : 부모 view의 center로 맟춤.
Vertical Stack
- fill : 가장 넓은 content를 기준으로 나머지 content의 width를 강제로 통일
Horizontal Stack
- fill : 가장 높은 content를 기준으로 나머지 content의 height를 강제로 통일
Stack의 요소가 추가/제거될 때 애니메이션을 넣어보자
공식적인 API를 활용하는게 아니기에 코드로만 가능하다
요약하면,
1. 일단 숨김 상태로 Stack에 넣기
2. 숨김 해제를 애니메이션화
let myView = UIView()
myView.isHidden = true
stackView.addArrangedSubview(myView) // 1.숨긴 채로 push
UIView.animate(withDuration: 0.3) { // 2.숨김 해제를 애니메이션화
myView.isHidden = false
}