Создать NSMenu для NSStatusBar.systemStatusBar программно - PullRequest
2 голосов
/ 21 марта 2011

Я пытаюсь создать простое меню в строке состояния системы, используя только код.Я не получаю никаких ошибок компиляции или выполнения, но не вижу никакого эффекта.

- (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];
}

1 Ответ

5 голосов
/ 21 марта 2011

Я не верю, что NSStatusItem неявно примет title из NSMenu, связанного с ним (что, как я полагаю, вы хотите, чтобы произошло). Попробуйте явно установить NSStatusItem. title (и / или его image).

e.x.

[statusItem setTitle:[stackMenu title]];
...