在StatusBar中重建NSMenuItems

时间:2013-07-05 10:48:43

标签: cocoa dynamic nsmenuitem nsmenu

我正在尝试在状态栏应用中拥有动态数量的NSMenuItems。现在我正在awakeFromNib的列表中阅读。但这只发生一次。
在应用程序运行时,我需要做什么来重建我的NSMenuItem? 它应该发生在像-(void)menuNeedsUpdate:(NSMenu *)menu这样的事情吗? 有人可以帮我推动正确的方向。

2 个答案:

答案 0 :(得分:1)

使用– addItem: – removeItem:方法。

NSMenuItem *test = [[NSMenuItem alloc] initWithTitle:@"test" action:@selector(test) keyEquivalent:@"a"];
[[StatusItem menu]  addItem:test];

答案 1 :(得分:1)

尝试在头文件(.h文件)上设置NSMenuDelegate,如下所示:

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate,NSMenuDelegate>{
}

(或在您需要调用选择器的类的头文件中)