我想执行以下操作:
当我点击状态栏项目(NSStatusItem
)时,我想无限期地突出显示它(没有菜单),当应用程序失去焦点时,我想停止突出显示它。
有没有办法做到这一点?我找不到了,tbh。
答案 0 :(得分:2)
您可以使用sends the status item a drawStatusBarBackgroundInRect:withHighlight:
message。
我怀疑没有任何方法可以在没有自定义视图的情况下执行此操作,因为正如我在问题评论中提到的那样,当用户没有按下鼠标时保持项目突出显示它看起来很糟糕。
答案 1 :(得分:2)
老问题,但我认为值得添加这个替代答案。
当应用程序失去焦点时,这不会自动取消突出显示,但这允许您在不使用自定义视图的情况下突出显示(如other answer所要求的那样):
NSStatusItem *statusItem = [self getStatusItem];
[statusItem.button setHighlighted:YES];
您可以使用相同的方法手动取消高亮显示:
[statusItem.button setHighlighted:NO];
注意我从类似问题here得到了这个答案。