StackView는 여러 View들의 수평 또는 수직 방향의 선형적인 레이아웃의 인터페이스를 사용할 수 있게 해줍니다.
StackView와 오토레이아웃 기능을 활용하여 디바이스의 방향, 화면크기에 따라 동적으로 적응할 수 있는 사용자 인터페이스를 만들 수 있습니다.
StackView의 레이아웃은 StackView의 'axis', 'distribution', 'alignment', 'spacing' 등과 같은 프로퍼티를 통해 조정합니다.
StackView는 arrangedSubviews 프로퍼티에 StackView에 포함된 뷰들을 관리함
이 프로퍼티는 순서가 있는 배열과도 같습니다.
스택뷰에 포함된 뷰의 순서가 레이아웃에 영향을 미칩니다.
스택뷰에 뷰 추가하는 것은 코드상으로 func addArrangedSubview(UIView) 메서드 호출과 같음
스택뷰를 먼저 생성하고 그 안에 새로운 뷰를 추가하기
이미 존재하는 뷰들을 스택뷰에 추가하는 방법
이 상태에서 Embed in > Stack View 선택하기
UIStackView 클래스의 주요 프로퍼티
var arrangedSubviews: [UIView]
: 스택뷰의 정렬된 뷰의 배열입니다. 스택뷰에 포함된 뷰들을 이 프로퍼티에 저장하고 관리합니다.var axis: UILayoutConstraintAxis
: 레이아웃의 방향을 결정합니다.(수직 vertical, 수평 horizontal)var distribution: UIStackViewDistribution
: 스택뷰에 포함된 뷰가 스택뷰 내에서 어떻게 배치(분배)될지 결정합니다.var spacing: CGFloat
: 스택뷰에 정렬된 뷰들 사이의 간격을 결정합니다. 기본 값은 0.0 입니다.UIStackView 클래스의 주요 메서드
func addArrangeSubview(UIView)
: arrangedSubviews
배열에 마지막 요소에 뷰를 추가합니다.func insertArrangedSubview(UIView, at: Int)
: arrangedSubviews
배열의 특정 인덱스에 뷰를 추가합니다.func removeArrangedSubview(UIView)
: 스택뷰의 arrangedSubviews
배열로부터 뷰를 제거합니다.