Objective c 以编程方式为NSStatusBar.systemStatusBar创建NSMenu
我正在尝试仅使用代码在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但我看不到任何影响Objective c 以编程方式为NSStatusBar.systemStatusBar创建NSMenu,objective-c,cocoa,macos,nsmenuitem,nsmenu,Objective C,Cocoa,Macos,Nsmenuitem,Nsmenu,我正在尝试仅使用代码在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但我看不到任何影响 - (void)awakeFromNib { NSMenu *stackMenu = [[NSMenu alloc] initWithTitle:@"Status Menu"]; NSMenuItem *soMenuItem = [[NSMenuItem alloc] initWithTitle:@"Status Menu Item" action:nil
- (void)awakeFromNib
{
NSMenu *stackMenu = [[NSMenu alloc] initWithTitle:@"Status Menu"];
NSMenuItem *soMenuItem =
[[NSMenuItem alloc] initWithTitle:@"Status Menu Item" action:nil keyEquivalent:@"S"];
[soMenuItem setEnabled:YES];
[stackMenu addItem:soMenuItem];
statusItem = [[[NSStatusBar systemStatusBar]
statusItemWithLength:NSVariableStatusItemLength]
retain];
[statusItem setMenu:stackMenu];
}
我不相信
NSStatusItem
会隐式地承担与其相关联的NSMenu
的标题(我猜这是您希望发生的事情)。请尝试显式设置NSStatusItem
的标题(和/或其图像
)
e、 十,
或其视图
。(是的,这就是为什么你看不到任何操作码的原因。)在刷新页面之前,先弄清楚这一点。谢谢
[statusItem setTitle:[stackMenu title]];