如何重点关注NSStatusItem,直到再次切换它为止

时间:2011-06-30 23:39:35

标签: objective-c cocoa nsmenuitem nsmenu nsstatusitem

我正在构建一个使用NSStatusItem的应用程序。我希望我的NSStatusItem在单击时打开并保持打开状态,直到用户再次单击NSStatusItem。截至目前,它打开菜单,但当我点击它或点击另一个应用程序时,NSStatusItem失去焦点。我希望NSStatusItem的菜单保持打开状态,直到用户点击关闭它。到目前为止,这是我的代码,只是为了制作NSStatusItem。感谢

-(void)awakeFromNib{
    statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
    [statusItem setMenu:statusMenu];
    [statusItem setTitle:@"Status"];
    [statusItem setHighlightMode:YES];
}

1 个答案:

答案 0 :(得分:1)

您可能最好实现一个自定义窗口,该窗口在您单击状态项时打开,而不是使用附加到状态项菜单的视图。

菜单有明确定义的打开/关闭/鼠标跟踪行为,并尝试在子类中更改它可能只是令人沮丧。