我想执行以下操作:
当我点击状态栏项目(NSStatusItem
)时,我想无限期地突出显示它(没有菜单),当应用程序失去焦点时,我想停止突出显示它。
有什么办法可以做到这一点吗?我找不到。
您可能可以通过自定义视图来实现这一点,该视图向状态项发送drawStatusBarBackgroundInRect:withHighlight:
消息。
我怀疑没有自定义视图就没有办法做到这一点,因为,正如我在对这个问题的评论中提到的,当用户没有将鼠标放在上面时,保持项目突出显示看起来很糟糕。
老问题,但我认为值得添加这个替代答案。
当应用程序失去焦点时,这不会自动取消高亮显示,但这允许您在不使用自定义视图的情况下高亮显示(如另一个答案所要求的):
NSStatusItem *statusItem = [self getStatusItem];
[statusItem.button setHighlighted:YES];
您可以使用相同的方法手动取消高亮显示:
[statusItem.button setHighlighted:NO];