如何显示 macOS 应用程序特定的帮助菜单搜索栏?

问题描述 投票:0回答:1

我有一个用 Objective-C 编写的 macOS 应用程序。最初,我不想提供“帮助”菜单,因此我从故事板中删除了“帮助”顶级菜单项。

现在我想添加一个帮助设施,并仍然保留系统提供的菜单搜索栏。我添加了我的应用程序所需的帮助菜单和子菜单项。但搜索栏没有出现。

这是我正在寻找的菜单搜索行为:

enter image description here

当我通过故事板将“帮助”菜单项和子菜单项添加回我的应用程序时,运行应用程序时不会出现搜索栏。是否需要一些魔法才能实现这种行为?

xcode search nsmenu nsmenuitem
1个回答
0
投票

这似乎可以解决问题。首先,我为 NSMenuItem 中标题为“Help”的标签分配了一个值,将其值定义为 TAG_HELP_MENU。然后,我将此代码添加到 AppDelegate.h 文件中的 applicationDidFinishLaunching 方法中:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    NSMenu *menu = NSApplication.sharedApplication.mainMenu;
    for (NSMenuItem *item in menu.itemArray)
    {
        if (item.tag == TAG_HELP_MENU)
        {
            NSApplication.sharedApplication.helpMenu = item.submenu;
        }
    }
    return;
}

现在,我得到了我正在寻找的行为。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.