2015-01-08 81 views
1

我試圖附加NSMenu項目到NSStatusItem有一個菜單,當點擊我的Mac OS菜單欄應用程序。將NSMenu附加到NSStatusItem與故事板

我是Mac新手,我在網上搜索了教程。但是,我發現的所有材料都涉及使用文件Xib來添加NSMenu並將其鏈接到現有代碼。但是,我的項目中沒有這樣的文件,它只包含故事板文件。

我希望你能幫上忙。

乾杯

回答

1

可以以編程方式創建一個菜單,將其設置爲NSStatusItem這樣。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    _statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:30]; 
    _statusItem.image = [NSImage imageNamed:@"..."]; 

    // create menu 
    NSMenu *menu = [[NSMenu alloc] initWithTitle:@""]; 
    NSMenuItem *item1 = [[NSMenuItem alloc] initWithTitle:@"menu1" action:@selector(menu1Action:) keyEquivalent:@""]; 
    NSMenuItem *item2 = [[NSMenuItem alloc] initWithTitle:@"menu2" action:@selector(menu2Action:) keyEquivalent:@""]; 

    [menu addItem:item1]; 
    [menu addItem:item2]; 

    [_statusItem setMenu:menu]; // attach 
} 

當然,您可以使用NSMenu作爲插座。爲此,請將NSMenu拖動到故事板中的應用程序場景,並將其連接到AppDelegate的出口。