[swift] Swift에서 Stack View를 이용한 레이아웃 구성

Swift에서 UI를 구성할 때 자주 사용되는 방법 중 하나는 Stack View를 활용하는 것입니다. Stack View는 UI 요소들을 간단하게 정렬하고 구성할 수 있는 효율적인 방법을 제공합니다. 본 포스트에서는 Swift에서 Stack View를 이용하여 레이아웃을 구성하는 방법에 대해 알아보겠습니다.

1. Stack View란?

Stack View는 UI 요소들을 수직 또는 수평으로 정렬하여 레이아웃을 구성하는데 사용되는 UI 컨테이너입니다. 코드상에서만 구성할 수 있으며 Interface Builder에서도 구성할 수 있습니다.

Stack View를 사용하면 UI의 유연성과 재사용성이 뛰어나며, 화면 회전 및 다양한 디바이스 크기에 대한 대응이 용이해집니다.

2. Stack View 사용하기

Stack View를 사용하려면 먼저 UIKit을 import 해야 합니다.

import UIKit

다음으로 Stack View를 초기화하고 필요한 UI 요소들을 추가합니다.

let stackView = UIStackView()
stackView.axis = .vertical  // 수직으로 정렬
stackView.alignment = .center
stackView.distribution = .fill
stackView.spacing = 16  // UI 요소 간 간격 설정

let label1 = UILabel()
label1.text = "Label 1"

let label2 = UILabel()
label2.text = "Label 2"

// Stack View에 UI 요소들을 추가
stackView.addArrangedSubview(label1)
stackView.addArrangedSubview(label2)

위 코드에서는 수직으로 정렬된 Stack View를 생성하고, 두 개의 UILabel을 추가하는 예시를 보여줍니다.

3. Stack View 제약조건 추가

Stack View를 사용할 때는 Stack View에 대한 제약조건도 추가해주어야 합니다. Stack View를 부모 뷰에 대해 제약조건을 추가하여 올바르게 표시되도록 해야 합니다.

stackView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    stackView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
    stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
    stackView.topAnchor.constraint(equalTo: view.topAnchor, constant: 100),
])

마무리

Swift에서 Stack View를 사용하면 복잡한 UI 레이아웃을 효율적으로 구성할 수 있습니다. Stack View를 활용하여 UI 요소들을 정렬하고 제약조건을 추가하여 원하는 레이아웃을 구성하세요.

Swift 공식 문서 https://developer.apple.com/documentation/uikit/uistackview에서 더 자세한 정보를 확인할 수 있습니다.