2011-08-11 96 views
1

僅當應用程序處於活動狀態時,才使用此方法來顯示NSStatusItem菜單。僅當應用程序處於活動狀態時才顯示NSStatusItem菜單

-(void)menuWillOpen:(NSMenu*)menu{ 
    if(![NSApp isActive]){ 
     [menu cancelTracking]; 
    } 
    [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; 
    [window makeKeyAndOrderFront:self]; 
} 

它完美的工作,但cancelTracking似乎阻止NSStatusItem的藍色突出顯示。所以當我點擊狀態菜單項時,它不顯示子菜單,它顯示主窗口,但圖標沒有突出顯示。 有沒有辦法讓它發生?

回答

1

我建議創建一個自定義視圖,如果您需要更精確地控制狀態項突出顯示的時間。然後,您可以使用mouseDown:等。This是將您的自定義視圖置於狀態項目中的一個很好的示例。

相關問題