2025-02-11
今天我在做一个Mac App,里面涉及一个右键点击
的菜单。
因为涉及二级菜单,所以我在contextMenu
里面加了一层Menu
.contextMenu{
Menu {
ForEach(categories) { category in
Button{
// do something
} label: {
HStack {
Image(systemName: "folder.fill")
Text(category.title)
}
}
.labelStyle(.titleAndIcon)
}
} label: {
HStack {
Image(systemName: "folder")
Text("Move to...")
}
}
.labelStyle(.titleAndIcon)
}
我需要修改文件夹,即 Image(systemName: "folder.fill")
的颜色,根据AI的指示,使用.foregroundStyle或者.tint,或者.background都不行。
最终,我在StackOverflow找到了参考答案
写两个color就行 ,系统会自动取第一个。
不确定这个是否是SwiftUI的BUG,竟然这么奇怪。
示例代码:
.foregroundStyle(.blue, .red)
如果不是systemImage
的话,需要用到.renderingMode(.template)
,Medium的参考答案