【发布时间】:2020-09-02 08:52:46
【问题描述】:
使用 SwiftUI,我在 TabBar 内嵌套了多个 NavigationView。这样做的原因是我想更改每个 NavigationView 的标题以反映所选选项卡,但我找不到其他方法来做到这一点。此外,UITabBar 的背景颜色为纯白色对我的客户来说非常重要。为此我设置了UITabBar.appearance().isTranslucent = false,否则显示为灰色。但是,只要我这样做,我就会在 UITabBar 上方看到一条奇怪的灰线。我怎样才能摆脱它?
struct ContentView: View {
init() {
UITabBar.appearance().backgroundColor = UIColor.white
UITabBar.appearance().isTranslucent = false
}
var body: some View {
TabView {
NavigationView {
Text("First tab")
.padding(10)
.background(Color.white)
.navigationBarTitle(Text("First tab"), displayMode: .inline)
}
.tabItem {
Text("First tab")
}
NavigationView {
Text("Second tab")
.padding(10)
.background(Color.white)
.navigationBarTitle(Text("Second tab"), displayMode: .inline)
}
.tabItem {
Text("Second tab")
}
}
}
}
【问题讨论】: