我有一个API,允许用户使用子菜单创建弹出菜单,当用户点击属于子菜单的选项时,我在检测所选项目时遇到问题。
所以,显示和"建设"弹出菜单是正确的,它工作正常。从NSMenu开始,我添加了一些NSMenuItems,然后对于一些NSMenuItems,我添加了一个带有一些NSMenuItems的新NSMenu。
当我点击属于子菜单的项目时,问题就开始了,我得到的selectedItem总是为零。它适用于主菜单。以下是我显示菜单的方式:
NSRect frame = NSMakeRect(mp.origin.x + 10, mp.origin.y + 10, 1, 1);
NSPopUpButtonCell *cell = [[NSPopUpButtonCell alloc] initTextCell: @"" pullsDown: NO];
[cell setAutoenablesItems: NO];
[cell setAltersStateOfSelectedItem: NO];
[cell setMenu: mainMenu];
[cell selectItem: Nil];
[cell performClickWithFrame: frame inView: [window initialFirstResponder]];
NSMenuItem *xpto = [cell selectedItem];