如何使用 SwiftUI 更改主题颜色?

Posted

技术标签:

【中文标题】如何使用 SwiftUI 更改主题颜色?【英文标题】:How to change the theme color with SwiftUI? 【发布时间】:2020-03-13 05:57:30 【问题描述】:

我需要将所有navigationlinks 的标题更改为除蓝色以外的其他颜色,例如自定义绿色。不知道从哪里开始。

Example

【问题讨论】:

@ThomasMartin 不完全是。但我会看看我是否可以将它用于navigationlink 以适应我的项目。如果我这样做了,我会报告。 【参考方案1】:

使用如下强调色

NavigationView 
    // content here
.accentColor(Color.green)

【讨论】:

谢谢。有没有办法声明这个值一次在整个应用程序中生效? @Scotty,accentColor 应用于所有子视图,因此只需将其应用于SceneDelegate 中的ContentView 或使用tintColor 直接应用于UIWindow。您也可以查看this 主题。 @Environment(\.hostingWindow) var hostingWindow 出现错误。错误读取Type of expression is ambiguous without more context @Scotty,您是否按照该答案顶部提供的链接指定hostingWindow 我试着拼凑你在这个话题上给出的不同答案,但没有运气。

以上是关于如何使用 SwiftUI 更改主题颜色?的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 2.0如何更改表单部分的背景颜色[重复]

SwiftUI,按下时如何更改视图(不使用按钮)颜色?

SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

使用 NavigationView 和 List 时如何更改 SwiftUI 中的背景颜色?

如何更改应用程序色调颜色(新的 SwiftUI 生命周期应用程序)?

如何在 SwiftUI 应用程序生命周期中更改特定视图的状态栏颜色?