cocoa NSMenu将NSMenuItem添加到位

时间:2012-06-12 16:51:18

标签: cocoa nsmenuitem nsmenu

我正在尝试在我的应用程序中创建一个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];

1 个答案:

答案 0 :(得分:6)

您希望使用insertItem:atIndex:系列方法而不是addItem:方法。