8

我有一个使用NSStatusItem. 在小屏幕上,状态栏没有太多空间。当用户切换到具有大量菜单项的应用程序时,我的状态项会被隐藏。有没有办法得到这方面的通知?

到目前为止我尝试了什么:

  • 我检查是否有任何NSNotification被解雇:否
  • 我检查了statusView是否从视图层次结构中删除:否
  • 我查了isHiddenOrHasHiddenAncestor:没有

这是我用来创建状态项的代码。

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
MyStatusView *maView = [[[MyStatusView alloc] initWithFrame:CGRectMake(0, 0, 50, 22)] autorelease];
[statusItem setTitle:@"Ma Status Item"];
[statusItem setView:maView];
4

1 回答 1

1

你很聪明地意识到当一个状态项被隐藏时,它的窗口将被移到后台。

现在您正在寻找的通知是: NSWindowDidResignKeyNotification (或NSWindowDidResignMainNotification取决于您的应用程序的上下文)

有关键窗口和主窗口之间区别的清晰说明,请参阅

于 2011-11-30T09:08:31.883 回答