SwiftUI TabView
2021년 11월 11일 수정
≡ 목차 (Table of Contents)
TabView
기본 사용법
아래 예제는 두 개의 탭을 표시하고 각 탭은 그냥 텍스트만 덩그러니 보이는 뷰가 표시된다.
struct SomeView: View { var body: some View { TabView { Text("Tab 1 View") .badge(10) .tabItem { Image(systemName: "folder") Text("Tab 1") } Text("Tab 2 View") .tabItem { Text("Tab 2") } } } }
보다시피 .tabItem
을 이용해 탭바의 아이템 모양을 정의할 수 있다. 이미지는 필수가 아니며 이외에 배지 등을 설정할 수도 이다.
선택된 탭 지원
현재 선택된 탭이 무엇인지 알기 위해서는 아래와 같이 구현할 수 있다.
struct SomeView: View { @State private var tabSelection = 0 var body: some View { TabView(selection: $tabSelection) { Text("Tab 1 View") .tabItem { ... } .tag(0) Text("Tab 2 View") .tabItem { ... } .tag(1) } } }
태그(tag)의 숫자가 선택된 탭의 고유 번호 역할을 한다.
기타
.tabViewStyle()
을 이용하여 페이지 스타일 등등 다른 형식을 지원할 수 있다. 다만 macOS에서는 아직까진 자동 이외에는 다른 스타일이 없고 거기다 모양도 안 이쁘니 커스텀 뷰 형태로 구현하는게 나을지도 모른다.