首页 > 解决方案 > 选择导航链接时如何更改文本颜色?SwiftUI Mac 催化剂

问题描述

我使用 a ListofNavigationLink来生成我的侧边栏,但是当作为 Mac Catalyst 应用程序运行时,所有选择都使用系统强调色作为背景。这很好,但是在颜色较深的地方,我希望文本像大多数 Mac 应用程序一样反转为白色。

任何人都可以帮忙吗?这是我的代码:

 List {
            
            ForEach(topics, id: \.self) { topic in
                
                NavigationLink(
                    destination: DetailView(selectedDate: self.titles[topic])
                ) {
                    HStack {
                        Image(topic)
                            Text(self.titles[topic]!)
                }
                 
                }
            
            }
           
            
    }

Btwtopic是一个字符串数组,它们是字典的键titles。提前致谢。

侧边栏

标签: swiftxcodelistuitableviewswiftui

解决方案


您是否尝试过使用新Label(_:)元素,而不是带有图像 + 文本的自定义 HStack?Swift "2" 现在有了Labelwhich 当与SidebarListStyle 应该做你想做的事情时。选中后,文本变为突出显示的颜色。由于您使用的是自定义图像,我不确定那里会发生什么,但试一试。

代替:

HStack {
  Image(...)
  Text(...)
}

只需使用:

Label("Formalism", image: "formalism.png")

推荐阅读