选择导航链接后,如何更改文本颜色? SwiftUI Mac催化剂

时间:2020-08-12 12:27:00

标签: swift xcode list uitableview swiftui

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

有人可以帮忙吗?这是我的代码:

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

Btw topic是一个字符串数组,它们是字典titles的键。预先感谢。

Sidebar

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用新的Label(_:)元素,而不是使用带有图像和文本的自定义HStack? Swift“ 2”现在具有Label,当与SidebarListStyle结合使用时应该做您想做的事。选中后,文本将变为突出显示的颜色。由于您使用的是自定义图片,因此我不确定在那里会发生什么,请尝试一下。

代替:

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

只需使用:

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