使 SwiftUI TabView 背景透明(参见附图)

问题描述 投票:0回答:1

在 swiftUI 中,我试图使 TabView 背景透明,而不是其工具栏背景,不是其内容视图背景,其实际背景始终为白色。

swiftui background tabview
1个回答
0
投票

对每个 TabView 项目使用 ZStack,试试这个:

struct Tab: View {
    var color: Color
    var title: String

    var body: some View {
        NavigationStack {
            ZStack {
                color
                    .ignoresSafeArea()

                Text("Home \(title)")
            }
            .navigationTitle("Tab \(title)")
        }
    }
}

struct ContentView: View {
    var body: some View {
        TabView {
            Tab(color: .red, title: "1")
                .tabItem {
                    Label("Tab 1", systemImage: "star")
                }

            Tab(color: .blue, title: "2")
                .tabItem {
                    Label("Tab 2", systemImage: "pencil")
                }

            Tab(color: .orange, title: "3")
                .tabItem {
                    Label("Tab 1", systemImage: "eraser")
                }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.