簡體   English   中英

僅當 App 處於活動狀態時才顯示 NSStatusItem 菜單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM