SwiftUI:如何更改 NavigationView 的色调(背景颜色)?
Posted
技术标签:
【中文标题】SwiftUI:如何更改 NavigationView 的色调(背景颜色)?【英文标题】:SwiftUI: How do you change the tint color (background color) of a NavigationView? 【发布时间】:2019-06-08 04:42:23 【问题描述】:我有一个带有列表的 NavigationView。如何更改 NavigationView 的颜色?
【问题讨论】:
【参考方案1】:没有直接的 api(yet) 来执行此操作,但您可以查看调试视图层次结构,您会发现它是一个简单的 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"))
【讨论】:
但是 UINavigationBar 的这个答案。仅针对 NavigationView 的问题。 我也遇到了这个问题,建议的答案没有解决。当我在 NavigationView 中嵌入一个列表时,我得到一个灰色的背景颜色。我宁愿没有那个灰色的背景。以上是关于SwiftUI:如何更改 NavigationView 的色调(背景颜色)?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 SwiftUI 应用程序在 `NavigationView` 中的 `navigationBarItems` 内放置 `NavigationLink` 后向后导航时崩溃?