我正在使用此方法仅在应用程序处于活动状态时显示NSStatusItem菜单。
-(void)menuWillOpen:(NSMenu*)menu{
if(![NSApp isActive]){
[menu cancelTracking];
}
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
[window makeKeyAndOrderFront:self];
}
它完美有效,但cancelTracking似乎阻止了NSStatusItem的蓝色亮点。因此,当我点击状态菜单项时,它不会显示子菜单,它会显示主窗口,但图标不会突出显示。 有没有办法让它成真?
答案 0 :(得分:1)
如果您需要更精确地控制状态项何时突出显示自己,我建议您创建自定义视图。然后,您可以使用mouseDown:
等。This是将自定义视图置于状态项中的一个很好的示例。