我的應用程序有默認的「幫助」菜單。我刪除了「幫助」條目,並添加了一個支持條目,鏈接到我的網站上的論壇。從幫助菜單中刪除(或自定義)'搜索'
幫助菜單筆尖看起來是這樣的:
但是,一旦我有應用程序啓動和運行一個新的菜單項已在吸吮:
哪有我讓搜索消失? (或者甚至更好,我怎麼能使它啓動一個帶有參數的URL,如http://mywebsite.com/support?search=XXXXX)。
我的應用程序有默認的「幫助」菜單。我刪除了「幫助」條目,並添加了一個支持條目,鏈接到我的網站上的論壇。從幫助菜單中刪除(或自定義)'搜索'
幫助菜單筆尖看起來是這樣的:
但是,一旦我有應用程序啓動和運行一個新的菜單項已在吸吮:
哪有我讓搜索消失? (或者甚至更好,我怎麼能使它啓動一個帶有參數的URL,如http://mywebsite.com/support?search=XXXXX)。
您正在尋找NSUserInterfaceItemSearching協議。 返回單個搜索結果項目並使用它打開您的自定義URL。
- (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
}
你可能不想擺脫那個搜索欄,因爲你仍然可以使用它來搜索菜單項!
正如我敢肯定你知道,這個搜索框將只顯示幫助主題,如果你的應用程序帶有一個蘋果幫助手冊,可以通過以下Apple's documentation進行。
恐怕我不知道重寫搜索欄行爲的方法,但如果您不想爲應用程序編寫文檔,我認爲最好保留搜索欄,甚至更好如果你不能搜索你的論壇尋求幫助。
我找到了刪除搜索欄(但不是自定義它)的方法。
只是分配一個未使用的幫助菜單的菜單:
NSMenu *unusedMenu;
unusedMenu = [[NSMenu alloc] initWithTitle:@"Unused"];
NSApplication *theApp;
theApp = [NSApplication sharedApplication];
theApp.helpMenu = unusedMenu;
說明文檔中提到這一點的實現NSApplication類的helpMenu財產。
它只是在NSApplication中作爲聚光燈幫助或其他內容簡單提及。 – uchuugaka