【问题标题】:Create NSMenu for NSStatusBar.systemStatusBar programmatically以编程方式为 NSStatusBar.systemStatusBar 创建 NSMenu
【发布时间】:2011-03-21 02:31:34
【问题描述】:

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

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

【问题讨论】:

    标签: objective-c cocoa macos nsmenuitem nsmenu


    【解决方案1】:

    我不相信NSStatusItem 会隐含地承担与之关联的NSMenutitle(我猜你想发生这种情况。)尝试显式设置NSStatusItem title(和/或其image)。

    例如

    [statusItem setTitle:[stackMenu title]];
    

    【讨论】:

    • 或其view。 (是的,这绝对是您在 OP 代码中看不到任何内容的原因。)
    • 在刷新页面之前才发现这一点。谢谢!
    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 2015-05-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 2013-03-28
    • 2013-07-25
    相关资源
    最近更新 更多