10
我有這個應用程序顯示系統狀態欄中的一個項目,其中一個項目是帶有NSTextField和NSButton的自定義視圖。當用戶點擊狀態欄項目時,它顯示菜單,用戶輸入一些文本並按下按鈕。這會觸發顯示窗口的操作。從NSStatusItem以編程方式隱藏NSMenu
現在我遇到的問題是,當按鈕被按下時,它會觸發該操作,但菜單仍然可見。我想隱藏菜單,因爲操作已經被處理。
我已經通過API進行了搜索,但找不到如何操作。
任何想法?
這是我如何創建菜單:
NSStatusBar *bar = [NSStatusBar systemStatusBar];
self.statusItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[statusItem setImage:[NSImage imageNamed:@"icon_status_bar.png"]];
[statusItem setHighlightMode:YES];
NSMenuItem *textInputItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
[textInputItem setView:myCustomView]; // created on the Nib file...
NSMenu *menu = [[NSMenu alloc] initWithTitle:NSLocalizedString(@"statusBarMenuTitle", @"")];
[menu addItem:textInputItem];
[statusItem setMenu:menu];
[textInputItem release];
[menu release];
謝謝!我從來沒有發現它的名字... – 2011-04-11 14:58:04