对每个 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")
}
}
}
}