NSColor
有這個方法:菜單文本顏色可可
NSColor.selectedMenuItemTextColor()
但對於普通(非選擇),菜單項文本的顏色沒有方法。如何確定菜單文本顏色(當前爲普通模式爲黑色,「黑色」模式爲白色)?
我在我的菜單中有一個自定義視圖,它需要使用與其他菜單項相同的文本顏色。
編輯:我目前使用的這一點,但我希望能找到一個textAttributes
清潔的解決方案:
let isDark = NSAppearance.currentAppearance().name.hasPrefix("NSAppearanceNameVibrantDark")
let textAttributes = [
NSForegroundColorAttributeName: isDark ? NSColor.whiteColor() : NSColor.textColor()
]
let selectedItemTextAttributes = [
NSForegroundColorAttributeName: NSColor.selectedMenuItemTextColor()
]
您是否爲項目背景嘗試過'textColor()'和'textBackgroundColor()'? – Astoria
@Astoria無論菜單設置爲何種顏色,都會使我的視圖變爲白色背景和黑色文本。據我所知,菜單有12種不同的顏色主題,具體取決於系統偏好設置中的外觀和通用訪問設置。我使用它作爲文本背後的背景顏色。 –