2011-03-21 189 views
2

我正尝试在代码中仅在系统状态栏中创建一个简单的菜单。我没有收到任何编译或运行时错误,但我根本看不到任何效果。以编程方式为NSStatusBar.systemStatusBar创建NSMenu

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

回答

5

我不相信NSStatusItem会隐承担与此相关的NSMenutitle(这是我猜你希望发生的事情。)尝试明确设置了NSStatusItemtitle(和/或其image)。

e.x.

[statusItem setTitle:[stackMenu title]]; 
+1

或其“视图”。 (是的,这绝对是你没有看到任何OP代码的原因。) – Chuck 2011-03-21 03:03:40

+0

只是在刷新页面之前就想出了这一点。谢谢! – 2011-03-21 03:19:00