我正在尝试在我的应用程序中创建一个 NSMenu。我成功创建了菜单,其中包含一些固定项目,现在我必须以编程方式添加一些项目。我在这方面也取得了成功,但它将该项目添加到了其他项目的底部。有没有办法将这个以编程方式创建的项目放在固定项目之间?这是我的代码:
.h:
@interface AppController : NSObject {
IBOutlet NSMenu *statusMenu;
NSStatusItem *statusItem;
}
.m
[statusMenu setAutoenablesItems:NO];
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setMenu:statusMenu];
NSImage *statusImage = [[NSImage alloc] initWithContentsOfFile:@"Icon.icns"];
[statusItem setImage:statusImage];
[statusItem setTitle:@"Multibox"];
[statusItem setHighlightMode:YES];
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:@"Carlo | 0000000000"
action:@selector(fooClicked:) keyEquivalent:@""];
[item setTarget:self];
[statusMenu addItem:item];
最佳答案
您想要使用 insertItem:atIndex:
系列方法而不是 addItem:
方法。
关于 cocoa NSMenu 在位置添加 NSMenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11001151/