在我开始之前,我应该说我知道这看起来不太可能,但我认为值得一试。
我现在正在开发的一个应用程序是 Mac 状态栏应用程序。它在菜单栏中有一个 NSStatusItem,当单击它时,它将显示一个带有弹出窗口外观的自定义窗口(就像在 iPad 上或 Fantastical 在 Mac 上一样。)无论如何,我通过在状态项菜单中插入一个 nsmenu 项开始测试它。该 View 为其窗口的背景色设置了清晰的颜色。但是,正如您在下面的图片中看到的那样,这仍然不太有效
- item上下还有一条白色细线
- 清晰区域不清晰,就像上面有模糊滤镜一样
除此之外,它的效果非常好。我只是不知道以前是否有人尝试过类似的事情,并想出如何克服这两个问题,这似乎是唯一阻止它工作的因素。
如果没有办法做到这一点,我可能不得不使用 NSStatusItem 的自定义 View ,这样我就可以在屏幕上获取坐标,将我自己的窗口定位在 NSStatusItem 下方。
最佳答案
假窗口似乎是一种相当奇怪的方法。为什么不只弹出一个常规窗口?我建议 MAAttachedWindow:http://mattgemmell.com/2007/10/03/maattachedwindow-nswindow-subclass
关于objective-c - 在 NSMenuItem 中使用 NSView 伪造 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287002/