objective-c - 检测全屏菜单栏移动

标签 objective-c macos statusbar

所以现在我有一个 NSWindow,它使用 INAppStoreWindow 像 NSToolbar 一样绘制自己,我想知道当应用程序处于全屏状态时菜单栏移动时是否会发出任何类型的事件或消息,以便我可以移动窗口的标题栏作为响应(标准 NSToolbar 的工作方式).显然 NSToolbar 知道一些我不知道的东西,它可以避免我在窗口的上部创建 NSTrackingArea。

这是它现在所做的:

Before

这是我想做的:

enter image description here

不幸的是,KVO'ing fullScreenAccessoryView 也不起作用。框架事件仅在进入和退出全屏模式时产生,而不是在工具栏被状态栏“下移”时产生。

最佳答案

这个怎么样?使用宽度为 0 的自定义 NSView 创建 NSStatusBarItem,然后使用 NSWindowWillMoveNotification 跟踪其 window 的位置

更新:我对 INAppStoreWindow 做了一个分支带有附加到菜单栏的自定义工具栏。 Check it out .

关于objective-c - 检测全屏菜单栏移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876596/

相关文章:

ios - 设置自定义字体时出现文本对齐问题

ios - 为什么 swift 中的 var++ 是错误的,而改成 var+1 是正确的

javascript - 在 osx 上的 javascript 中使用正则表达式检测重音

Qt 无法加载临时状态消息

ios - 如何在 iOS 7 中用动画隐藏状态栏?

iphone - 为什么我的应用程序内浏览器无法加载?

ios - shouldChangeCharactersInRange 没有被调用

iOS AdMob 内存泄漏?

java - 运行java程序的Mac shell脚本将两个图标放在dock中

Android 应用程序当前 Activity 问题