0
在Xcode中,我創建了一個帶子菜單的簡單菜單項(來自庫的子菜單菜單項)。它的子菜單有一些特定的操作,但我也希望項目本身包含一個點擊處理程序。現在,如果我將它連接到控制器中的操作 - 它不起作用。它甚至有可能做到這一點?將操作分配給包含子菜單的NSMenuItem
某些附加信息:此菜單項是應用程序的自定義停靠菜單的一部分。
谷歌似乎沒有太大的幫助(或者至少我找不到「贏家」的關鍵字),所以任何想法都讚賞。
在Xcode中,我創建了一個帶子菜單的簡單菜單項(來自庫的子菜單菜單項)。它的子菜單有一些特定的操作,但我也希望項目本身包含一個點擊處理程序。現在,如果我將它連接到控制器中的操作 - 它不起作用。它甚至有可能做到這一點?將操作分配給包含子菜單的NSMenuItem
某些附加信息:此菜單項是應用程序的自定義停靠菜單的一部分。
谷歌似乎沒有太大的幫助(或者至少我找不到「贏家」的關鍵字),所以任何想法都讚賞。
試試這個方法:
NSMenuItem *mainItem = [[NSMenuItem alloc] init];
[mainItem setTitle:@"Main item"];
NSMenu *submenu = [[NSMenu alloc] init];
[submenu addItemWithTitle:@"Sub item" action:nil keyEquivalent:@""];
[mainItem setSubmenu:submenu];
或者,
NSMenu *newMenu;
NSMenuItem *newItem;
// Add the submenu
newItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:@"Flashy" action:NULL keyEquivalent:@""];
newMenu = [[NSMenu allocWithZone:[NSMenu menuZone]]initWithTitle:@"Flashy"];
[newItem setSubmenu:newMenu];
[[NSApp mainMenu] addItem:newItem];
我覺得我沒問這個問題的權利。你所有的(或者我的)代碼都能正常工作,直到......我們開始處理DOCK菜單。一切都可以在App菜單中使用,但只要將菜單項添加到擴展塢(右鍵單擊)菜單中 - 操作將停止使用具有子項目的項目。 – Marius