我想显示一个导航栏有一个橙子的背景颜色和白色的标题。
在此设置下一切正常:
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.titleTextAttributes = [.foregroundColor: UIColor(Color.white)]
navigationBarAppearance.backgroundColor = .orange
UINavigationBar.appearance().standardAppearance = navigationBarAppearance
UINavigationBar.appearance().compactAppearance = navigationBarAppearance
UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
我的屏幕的源代码看起来像这样:
struct ScreenView: View {
var body: some View {
NavigationView {
List {
NavigationLink("Row", destination: Text("Tapped on row"))
}
}
.navigationTitle("List")
.navigationBarTitleDisplayMode(.inline)
}
}
结果:
如果我用NavigationStack替换NavigationView,导航栏就会消失。
我错过了什么吗?
2条答案
按热度按时间gudnpqoy1#
您必须将
.navigationTitle()
修改器应用于NavigationStack
内部的视图这似乎解决了这个问题。
jhiyze9q2#
仅使用SwiftUI和NavigationStack,您可以在橙子背景上实现白色标题文本,使用以下代码。