SwiftUI NavigationView 切换色调颜色

时间:2021-06-25 22:11:49

标签: swiftui-navigationview

我有两个导航视图。父母被标记为白色,孩子被标记为黑色。 当我从子视图重新访问父视图时,子修改器仍然适用。即标签是白色而不是黑色。我了解将视图修饰符应用于导航视图会更改所有导航视图。

所以我的问题是如何在不使用视图修饰符的情况下在导航视图中的两种文本颜色之间切换?

ParentNavigationView {
    ChildNavigationView {
          .whiteTextColorModifier()
    }
}
.blackTextColorModifier()

1 个答案:

答案 0 :(得分:0)

在 SwiftUI 视图的 init(){} 中使用此代码。

init() {
        UINavigationBar.appearance().titleTextAttributes = [ NSAttributedString.Key.foregroundColor :  UIColor.white] // Use your own color
        UINavigationBar.appearance().barTintColor = UIColor.black
        UINavigationBar.appearance().backgroundColor = UIColor.whatever
UINavigationBar.appearance().tintColor = .white
        UINavigationBar.appearance().isOpaque = true
       }