1

我在 MacOS 11.01 上使用 Swift 5.3 并为 iOS 14.2 创建了一个新的“多平台”应用程序。我为亮/暗模式创建了自定义颜色资源,但无法让亮模式背景颜色显示在我的 TabView 上。TabView 暗模式背景颜色看起来很好。

浅色模式的背景颜色在 Xcode Preview 中看起来很完美,但是当我在 Sim 或我的设备上运行应用程序时,标签栏背景颜色在浅色模式下是清晰的,但在深色模式下显示正确的颜色。

I use the same color assets for coloring my NavigationView and both the light and dark mode colors appear correctly when the corresponding modes are selected.

最新的 SwiftUI 5.3 和颜色资产在这里有什么明显的遗漏吗?

.onAppear在 TabView 中使用以下代码

UITabBar.appearance().barTintColor = UIColor(named: "barBackground")

请注意,“barBackground”是我创建的自定义颜色集,用于向 NavigationView 和 TabView 添加亮/暗模式背景颜色。

如果不清楚,很高兴提供更多信息。谢谢!

4

1 回答 1

1

这样做有点晚了,在创建受影响的视图之前肯定.onAppear应该改变外观,所以在init

init() {
    UITabBar.appearance().barTintColor = UIColor(named: "barBackground")
}
于 2020-11-20T20:16:55.540 回答