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

问题描述

我使用了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

解决方法

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

代替:

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

只需使用:

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...