У меня есть NSTableView
, из которых один столбец содержит NSPopUpButtonCell
s. Этот столбец присваивается IBOutlet
. Класс контроллера моего приложения создает в нем меню init
и присваивает его данным DataCell NSTableColumn
, который является NSPopUpButtonCell
.NSPopUpButtonCell с иерархическим меню в NSTableView
меню выглядит следующим образом:
NSPopUpButton
NSMenu
NSMenuItem item1
NSMenuItem item2
NSMenuItem item3
NSMenu
NSMenuItem item3_1
NSMenuItem item3_2
NSMenuItem item4
NSMenuItem item4_1
NSMenuItem item4_2
NSMenuItem item4_3
Когда я нажимаю меню и выберите item1 или ст.2, обжигают мой источником данных tableView:setObjectValue:forTableColumn:row:
и objectValue является 0 или 1, индекс выбранного элемента. Однако, когда я выбираю элемент из одного из подменю, objectValue я получаю -1. Как я смогу получить пункт меню, который был выбран?
Это ваша всплывающая кнопка в режиме выключения или всплывающего окна? –
Это в всплывающем режиме. – nephilim
Тогда, да, мое объяснение ниже. –