我有一个NSStatusItem
附加菜单,我用全局热键触发。如果我单击菜单项,我会像往常一样突出显示,如果我使用热键,则突出显示不会被触发。有没有人知道触发亮点的方法?
我已尝试覆盖视图并在drawRect
中自行绘制,但如果有更好的方法可以做到这一点,我很乐意听到。谢谢!
我不想覆盖视图的原因是我必须处理图标定位,点击激活菜单等。
答案 0 :(得分:2)
这在使用Xcode 10的macOS 10.13.6中起到了神奇的作用。
guard let m = statusItem.menu else { return }
statusItem.button?.isHighlighted = true
statusItem.popUpMenu(m)
statusItem.button?.isHighlighted = false
请注意,关闭菜单后,需要最后一行来取消突出显示图标。
答案 1 :(得分:1)
使用:
[[statusItem button] highlight:true];
事实证明setHighlighted:
和highlight
不做同样的事情:
NSStatusBarButton keep highlighted