更改系统颜色时的NavBarTitle



大家好,

我试图根据实际的SystemColor(.dark,.light(更改UINavigationBar.appearance()titleTextAttributes

首先,我使用了一个初始化器来更改.foregroundColor,一切都很好。此外,我想使用colorScheme根据明暗模式自动更改它。这在我添加到导航栏的按钮上运行良好:

ToolbarItem(placement: .navigationBarTrailing) {
Button {
showingAddView.toggle()
} label: {
Label("Hinzufügen", systemImage: "plus.circle").foregroundColor(colorScheme == .dark ? Color.white : Color.black)
}

现在我有一个问题,不知道如何解决UI组件的问题。。。我试着像这样集成colorScheme

init() {
let navBarAppearance = UINavigationBar.appearance()
navBarAppearance.largeTitleTextAttributes = colorScheme == .dark ? [.foregroundColor: UIColor.white] : [.foregroundColor: UIColor.black]
navBarAppearance.titleTextAttributes = colorScheme == .dark ? [.foregroundColor: UIColor.white] : [.foregroundColor: UIColor.black]
}

但它不起作用

有人知道如何使用colorScheme或任何其他修饰语来实现这一点吗?提前感谢大家!

问候Marcel

@Environment(.colorScheme) var colorScheme

这对你有帮助吗?

最新更新