SwiftUI:如何更改NavigationView的色调颜色(背景颜色)?

Ran*_*ens 7 ios swift swiftui

我有一个带有列表的NavigationView。如何更改NavigationView的颜色?

Far*_*esh 5

没有直接的 api(尚未)来执行此操作,但您可以查看调试视图层次结构,您将看到它是一个简单的 UINavigationBar,并且所有旧的解决方案也可以在这里工作(尚未)。

struct ContentView: View {

init(){
    UINavigationBar.appearance().backgroundColor = .white
    UINavigationBar.appearance().tintColor = .black
    UINavigationBar.appearance().barTintColor = .black
    UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.red]
    UINavigationBar.appearance().largeTitleTextAttributes = [.foregroundColor: UIColor.red]
}
var body: some View {
    NavigationView {
        List {
            Text("1")
            Text("2")
            Text("3")
            Text("4")
        }.navigationBarTitle(Text("Title With Red Color"))
    }
}
Run Code Online (Sandbox Code Playgroud)

}

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

  • 但这是 UINavigationBar 的答案。仅针对 NavigationView 的疑问或问题。 (3认同)