【发布时间】:2015-10-02 23:00:16
【问题描述】:
我创建了一个简单的托盘应用程序来进行背景检查。我在托盘应用程序中添加了一个子菜单。当我单击菜单的“停止”项时,我希望托盘应用程序的图标变灰。
使用statusItem.enabled = false; 我可以使托盘图标变灰,但我也禁用了整个应用程序。
是否有任何其他可能使图标变灰或者我必须添加另一个图标并在点击时更改图标?
【问题讨论】:
标签: macos swift nsmenu nsmenuitem
我创建了一个简单的托盘应用程序来进行背景检查。我在托盘应用程序中添加了一个子菜单。当我单击菜单的“停止”项时,我希望托盘应用程序的图标变灰。
使用statusItem.enabled = false; 我可以使托盘图标变灰,但我也禁用了整个应用程序。
是否有任何其他可能使图标变灰或者我必须添加另一个图标并在点击时更改图标?
【问题讨论】:
标签: macos swift nsmenu nsmenuitem
我找到了解决问题的方法。需要两个图标
let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)
let icon = NSImage(named: "statusIcon")
let iconGrey = NSImage(named: "statusIconGrey")
然后你只需要把它改成你喜欢的任何东西
statusItem.image = icon
statusItem.menu = statusMenu
或
statusItem.image = iconGrey
statusItem.menu = statusMenu
【讨论】: