首先,我想指出这个问题可能已经被问过,我只是找不到他们的任何答案。
因此,我正在尝试以编程方式为主栏创建 NSMenu 和 NSMenuItem,所以 fe. NSMenu 将是文件,然后它会包含 3x NSMenuItem,新建、打开和保存。
但没有任何作用,这就是我目前所拥有的:
NSMenu *fileMenu = [[NSMenu alloc] initWithTitle:@"File"];
NSMenuItem *newMenu = [[NSMenuItem alloc] initWithTitle:@"New" action:NULL keyEquivalent:@""];
NSMenuItem *openMenu = [[NSMenuItem alloc] initWithTitle:@"Open" action:NULL keyEquivalent:@""];
NSMenuItem *saveMenu = [[NSMenuItem alloc] initWithTitle:@"Save" action:NULL keyEquivalent:@""];
[newMenu setMenu:fileMenu];
[openMenu setMenu:fileMenu];
[saveMenu setMenu:fileMenu];
但没有任何反应,我很确定我必须告诉应用程序它应该使用 fileMenu,但我该怎么做,如果这不是问题,那么是什么?我对这方面还很陌生,但对学习很感兴趣,所以任何提示都比没有好!
设置菜单时,您设置的是该项目显示的菜单,而不是其父菜单。
要将这三个项目添加到菜单中,请使用:
[fileMenu addItem: newMenu];
[fileMenu addItem: openMenu];
[fileMenu addItem: saveMenu];
然后将菜单添加到菜单栏:
NSMenuItem *fileMenuItem = [[NSMenuItem alloc] initWithTitle: @"File"];
[fileMenuItem setSubmenu: fileMenu]; // was setMenu:
[[NSApp mainMenu] addItem: fileMenuItem];
[fileMenuItem release];
每个菜单拥有多个菜单项;一个菜单项可以负责一个子菜单;所有这些菜单都通过以下方式锚定到 UI[NSApp mainMenu]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)