如何在运行时在 Objective C 中动态添加(在运行时)菜单项?一个示例是为最近的文件添加 5 个菜单项。
A)添加菜单项看起来如何?
B)我如何设置检查以查看单击了哪个菜单项并获取索引或标识?
请不要建议非动态解决方案,例如添加槽和在运行时隐藏。我正在尝试弄清楚如何在运行时动态添加菜单项,这在其他一些平台上是相当简单的,我希望使该代码在 Mac 上运行良好。
添加:添加菜单项似乎很简单
NSMenuItem *item = [myMenu insertItemWithTitle:[NSString stringWithFormat:@"%blah"]];
但是如何获取动态添加的菜单项的事件呢?
最佳答案
当您添加项目时,为每个项目设置一个标签并传递操作。
检查一下-
item = [myMenu addItemWithTitle:@"" action:@selector(HitMe:) keyEquivalent: @""];
[item setTag:10];
在代表中-
-(void)HitMe:(id) sender{
NSMenuItem * item = (NSMenuItem*)sender;
int val1 = [item tag];
printf("Value1==>%d", val1);
}
关于objective-c - Objective C/Cocoa 中的动态菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31704274/