我的应用程序具有默认的“帮助”菜单。我已删除“帮助”条目,并添加了一个支持条目,该条目链接到我网站上的论坛。
帮助菜单笔尖如下所示:
但是,一旦我启动了应用程序并运行了一个新的菜单项,就会陷入困境:
如何让搜索消失? (或者甚至更好,我怎么能让它发射一个像http://mywebsite.com/support?search=XXXXX这样的参数的网址)。
您正在寻找NSUserInterfaceItemSearching协议。返回单个搜索结果项并使用它打开您的自定义网址。
- (void)searchForItemsWithSearchString:(NSString *)searchString resultLimit:(NSInteger)resultLimit matchedItemHandler:(void (^)(NSArray *items))handleMatchedItems
{
handleMatchedItems(@[searchString]);
}
- (NSArray *)localizedTitlesForItem:(id)item
{
return @[[NSString stringWithFormat:@"Search for '%@' on my website", [item description]]];
}
- (void)performActionForItem:(id)item
{
// Open your custom url assuming item is actually searchString
}
我找到了删除搜索栏的方法(但不是为了自定义它)。
只需指定一个不用于帮助菜单的菜单:
NSMenu *unusedMenu;
unusedMenu = [[NSMenu alloc] initWithTitle:@"Unused"];
NSApplication *theApp;
theApp = [NSApplication sharedApplication];
theApp.helpMenu = unusedMenu;
该文档在NSApplication类的helpMenu属性中提到了这一点。
你可能不想摆脱那个搜索栏,因为你仍然可以用它来搜索菜单项!
我相信您知道,如果您的应用程序附带Apple帮助手册,此搜索框将仅显示帮助主题,可以通过以下Apple's documentation制作。
我担心我不知道如何覆盖搜索栏的行为,但如果您不想为您的应用编写文档,我认为保留搜索栏会更好,即使您可以'搜索您的论坛寻求帮助。
我在mac开发中的“帮助”菜单中删除了搜索栏,在“帮助”之后输入一个“帮助”后的空格。它看起来很有趣但工作正常.enter image description here