当 NSStatusItem 隐藏时被通知
我有一个使用 NSStatusItem
的应用程序。在小屏幕上,状态栏没有太多空间。当用户切换到具有大量菜单项的应用程序时,我的状态项会被隐藏。有没有办法获得有关此事的通知?
到目前为止我尝试过的:
- 我检查了是否触发了任何
NSNotification
:否 - 我检查了
statusView
是否从视图层次结构中删除:否 - 我检查了
isHiddenOrHasHiddenAncestor
isHiddenOrHasHiddenAncestor code>: No
这是我用来创建状态项的代码。
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];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您很聪明地意识到,当隐藏状态项时,其窗口将移至背景中。
现在您正在寻找的通知是:
NSWindowDidResignKeyNotification
(或NSWindowDidResignMainNotification 取决于您的应用程序的上下文)
有关关键窗口和主窗口之间差异的清晰解释窗口,请参阅这个< /a>.
It's pretty smart of you to realize that when a status item is hidden, its window will be moved into the background.
Now the notification you're looking for is:
NSWindowDidResignKeyNotification
(or NSWindowDidResignMainNotification depending on the context of your application)
For a clear explanation about the difference between a key window and a main window, see this.