我试图仅使用代码在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但完全没有效果。

- (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会隐式地承担与之关联的titleNSMenu(这是我想您要发生的事情。)尝试显式设置NSStatusItemtitle (和/或其image)。

e.x.

[statusItem setTitle:[stackMenu title]];

08-26 06:33