2010-08-18 1 views
9

Я хочу добавить раскрывающееся меню в одну из записей в элементе NSMenu. (например, если вы нажмете на индикаторе Battery на панели Finder, у него есть опция Show-> Icon, Time, Percentage). Теперь я добавляю MenuItem, используя следующий код:добавление элемента NSSubmenu в NSMenuItem

  menuItem = [menu addItemWithTitle:@"Start" 
     action:@selector(start:) keyEquivalent:@""]; 
     [menuItem setTarget:self]; 

Как добавить элемент подменю с этим выпадающего списка? Благодарю.

ответ

-2

Получил работу. Создал NSPopuButton с содержимым из массива, а затем использовал его здесь.

[menu setSubmenu:[(NSPopupButton *array) menu] forItem:menuItem]; 
+4

1. Это не действительный синтаксис. 2. Почему вы назвали свою всплывающую кнопку «массив»? И почему вы его бросаете? 3. Вы, вероятно, не должны размещать одно и то же меню в двух разных местах. Сделайте копию меню кнопки всплывающего окна и используйте это как подменю. Или, если вы не используете всплывающее окно, почему вы его создаете? –

18

Это, как я добавить подменю пункта NSMenu:

NSMenuItem *mainItem = [[NSMenuItem alloc] init]; 
[mainItem setTitle:@"Main item"]; 

NSMenu *submenu = [[NSMenu alloc] init]; 
[submenu addItemWithTitle:@"Sub item" action:nil keyEquivalent:@""]; 

[mainItem setSubmenu:submenu];