…如何在以下情况下收到通知:
>状态栏因全屏应用而被隐藏
>状态项移动位置,因为添加/删除/调整了其他项目的大小?
当项目更改位置时,两者都是将自定义视图移动到正确位置所必需的.
解决方法 有一个方法 – [NsstatusItem setVIEw:].为状态项设置自定义视图时,此视图将自动插入特殊状态栏窗口.您可以使用方法 – [NSVIEw窗口]访问该窗口以观察其NSWindowDIDMoveNotification:- (voID)applicationDIDFinishLaunching:(NSNotification *)notification{ NsstatusItem *statusItem = [self newStatusItem]; NSVIEw *statusItemVIEw = [self newStatusItemVIEw]; statusItem.vIEw = statusItemVIEw; NSNotificationCenter *dnc = [NSNotificationCenter defaultCenter]; [dnc addobserver:self selector:@selector(statusbarDIDMove:) name:NSWindowDIDMoveNotification object:statusItemVIEw.window];}- (voID)statusbarDIDMove:(NSNotification *)note{ NSWindow *window = note.object; NSLog(@"%@",NsstringFromrect(window.frame)); // i.e. {{1159,900},{24,22}}}
每次状态栏变为可见或隐藏以及移动图标时,您都会收到通知.这是您更新d出式面板位置的机会.
总结以上是内存溢出为你收集整理的macos – 获取NSStatusItem框架更改的通知?全部内容,希望文章能够帮你解决macos – 获取NSStatusItem框架更改的通知?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)