【问题标题】:Attach NSMenu to NSStatusItem with Storyboard使用 Storyboard 将 NSMenu 附加到 NSStatusItem
【发布时间】:2015-01-08 14:38:00
【问题描述】:

我正在尝试将 NSMenu 项目附加到 NSStatusItem 以在单击我的 Mac OS 菜单栏应用程序时获得菜单。

我是 Mac 编程的新手,我在网上搜索过教程。但是,我找到的所有材料都涉及使用文件 Xib 添加NSMenu 并将其链接到现有代码。但是,我的项目中没有这样的文件,它只包含情节提要文件。

希望你能帮忙。

干杯

【问题讨论】:

    标签: xcode macos nsmenu nsstatusitem


    【解决方案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 的插座。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 2016-12-08
      • 1970-01-01
      相关资源
      最近更新 更多