[SwiftUI] Stack에 대해 알아보자.

2024. 7. 7. 13:12·Swift/SwiftUI
728x90

 SwiftUI에서 Stack은 UI요소를 그룹화하고 배치하는 데 사용되는 기본적인 레이아웃 컨테이너이다. 

 

HStack (Horizontal Stack)

SwiftUI에서 사용되는 수평 스택이다.

 

✅ 자식 뷰를 수평으로 배열한다.

✅ 기본적으로 중앙 정렬되지만, alignment 매개변수로 변경 가능하다.

✅ spacing 매개변수로 요소 간 간격을 조절할 수 있다.

✅ 주로 가로로 나열된 UI요소들(ex: 툴바, 버튼 그룹 등)을 만들 때 사용된다.

 

.top : 자식 뷰들을 HStack의 상단에 정렬한다.

.center : 자식 뷰들을 HStack의 수직 중앙에 정렬한다.

.bottom : 자식 뷰들을 HStack의 하단에 정렬한다.

.firstTextBaseline : 텍스트의 첫 번째 기준선을 기준으로 정렬한다.

.lastTextBaseline : 텍스트의 마지막 기준선을 기준으로 정렬한다.

 

 

VStack (Vertical Stack)

SwiftUI에서 사용되는 수직 스택이다.

 

✅ 자식 뷰를 수직으로 배열한다.

✅ 기본적으로 중앙 정렬되지만, alignment 매개변수로 변경 가능하다.

✅ spacing 매개변수로 요소 간 간격을 조절할 수 있다.

✅ 주로 세로로 나열된 UI요소들(ex: 리스트, 폼 등)을 만들 때 사용된다.

 

.leading : 자식 뷰를 VStack의 왼쪽에 정렬한다.

.center : 자식 뷰를 VStack의 수평 중앙에 정렬한다.

.trailing : 자식 뷰를 VStack의 오른쪽에 정렬한다.

 

✔️ 밑의 두개는 list 컨텍스트 내에서 사용되지만, VStack에서도 사영할 수 있다. 

.listRowSeparatorLeading : 리스트 행 구분선의 시작 위치(왼쪽 또는 leading edge)를 설정한다.

.listRowSeparatorTrailing : 리스트 행 구분선의 끝 위치(오른쪽 또는 trailing edge)를 설정한다. 

 

ZStack (Depth Stack, z-axis Stack)

 

SwiftUI에서 사용되는 깊이 스택이다.

 

✅ 자식 뷰를 x축 방향으로 겹쳐서 배치한다.

✅ 먼저 선언된 뷰가 가장 뒤에 위치하고, 마지막에 선언된 뷰가 가장 앞에 위치한다.

✅ 기본적으로 중앙 정렬되지만, alignment 매개변수로 변경 가능하다.

✅ 주로 오버레이, 배경과 전경 요소를 결합할 때 사용한다.

 

.topLeading, .top, .topTrailing, .leading, .center, .trailing, .bottomLeading, .bottom, .bottomTrailing을 사용할 수 있다.

'Swift > SwiftUI' 카테고리의 다른 글

[SwiftUI] SwiftUI에서 UIKit 사용하기  (0) 2025.05.02
[SwiftUI] @Binding을 알아보자.  (2) 2025.01.03
[SwiftUI] @State를 알아보자.  (6) 2025.01.03
[SwiftUI] Modifier에 대해 알아보자.  (0) 2024.07.05
[SwiftUI] SwiftUI 시작하기.  (0) 2024.07.05
'Swift/SwiftUI' 카테고리의 다른 글
  • [SwiftUI] @Binding을 알아보자.
  • [SwiftUI] @State를 알아보자.
  • [SwiftUI] Modifier에 대해 알아보자.
  • [SwiftUI] SwiftUI 시작하기.
여성일
여성일
  • 여성일
    성일노트
    여성일
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Flyleaf - 독서를 여행처럼
        • 리팩토링
        • 트러블슈팅
        • 개발일지
      • 탭탭 - TapTap
        • 리팩토링
        • 트러블슈팅
        • 개발일지
      • 애플 디벨로퍼 아카데미
        • 챌린지 회고
        • 하루의 날씨
      • Swift Student Challenge 202..
      • AI를 잘쓰는 개발자가 될래요
      • 우리 같이 협업하자
      • 사카마카 (살까말까 고민 될 때는 사카마카)
      • Book2OnNon (모바일 서재)
      • 바꿔조 (환율 계산기)
      • iOS N
        • iOS N
        • Vapor
        • Design Pattern
        • CoreData
        • Tuist
        • RxSwift
        • ReactorKit
        • TCA
      • Swift
        • Swift 기본기
        • UIkit
        • SwiftUI
      • UX, 사용성
      • 원티드 프리온보딩 챌린지 iOS 과정
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.6
    여성일
    [SwiftUI] Stack에 대해 알아보자.
    상단으로

    티스토리툴바