繁体   English   中英

如何更改 SwiftUI 中推送视图的导航栏色调颜色?

[英]How to change navigation bar tint color for pushed view in SwiftUI?

[找到 1 个解决方案! ] 感谢乔治的评论,我能够找到一个解决方案https://stackoverflow.com/a/70353393/882987但如果有人有任何其他解决方案,请随时写它:)

我在SwiftUI中为“推送”视图设置自定义导航栏色调时遇到了一些问题。

代码是这样的,有一堆项目并点击每个项目,我们显示/推送一些细节视图:

NavigationView {
        ScrollView {
            LazyVStack(alignment: .leading) {
                ForEach(items) { item in
                    NavigationLink(destination: DetailItemView(item))) {
                        ListItemView(item)
                    }
                }
            }
        }
    }

而且我想为每个被推送的视图设置不同的导航栏色调。

有没有办法做到这一点?

感谢 George 的评论,我能够使用基本的Binding找到解决方案。

视图 A 中,我添加了:

@State private var navColor = Color.primary

我添加了修饰符

NavigationView {
...
}
.accentColor(navColor)

视图 B中,我添加了:

@Binding var navColor: Color

所以我可以在视图 B 中将navColor属性更改为我想要的任何东西,它会更新accentColor (以及导航栏的色调颜色)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM