【问题标题】:SwiftUI: How do you change the tint color (background color) of a NavigationView?SwiftUI:如何更改 NavigationView 的色调(背景颜色)?
【发布时间】:2019-06-08 04:42:23
【问题描述】:

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

【问题讨论】:

    标签: ios swift swiftui


    【解决方案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 中嵌入一个列表时,我得到一个灰色的背景颜色。我宁愿没有那个灰色的背景。
    猜你喜欢
    • 1970-01-01
    • 2020-10-11
    • 2020-01-01
    • 2019-11-17
    • 1970-01-01
    • 2021-02-11
    • 2019-12-21
    • 2021-07-25
    相关资源
    最近更新 更多