我有一个使用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];
答案 0 :(得分:1)
你很聪明地意识到当一个状态项被隐藏时,它的窗口将被移动到后台。
现在您正在寻找的通知是: NSWindowDidResignKeyNotification (或NSWindowDidResignMainNotification,具体取决于您申请的背景)
有关关键窗口和主窗口之间区别的明确说明,请参阅this。