[英]Show NSStatusItem menu only if App is active
僅當應用程序處於活動狀態時,我才使用此方法顯示 NSStatusItem 菜單。
-(void)menuWillOpen:(NSMenu*)menu{
if(![NSApp isActive]){
[menu cancelTracking];
}
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
[window makeKeyAndOrderFront:self];
}
它完美地工作,但 cancelTracking 似乎阻止了 NSStatusItem 的藍色突出顯示。 因此,當我單擊狀態菜單項時,它不會顯示子菜單,而是顯示主 window,但圖標未突出顯示。 有沒有辦法讓它發生?
如果您需要更精確地控制狀態項何時突出顯示,我建議創建自定義視圖。 然后您可以使用mouseDown:
等。 這是將自定義視圖放入狀態項的一個很好的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.