所以,我正在查看this源,尝试使用 NSPanel 制作带有自定义弹出框的状态栏应用程序之一 -
一切都运转良好,花花公子。单击菜单会调用 [panel makeKeyandOrderFront:nil]
,这在大多数情况下都有效 - 窗口通常会在其他所有内容前面的正确空间中弹出。
但是,如果我移动到全屏空间(例如全屏模式下的 Xcode)并尝试使用那里的菜单应用程序,面板会在错误的空间中弹出(之前调出的空间)并且什么也没有显示在预定的空间中。只有第二次点击后,它才会出现在正确的位置。
有人能解释一下这种现象吗?
最佳答案
我也注意到了这一点,虽然我没有解释,但我找到了解决办法。在PanelController.m第249行,在closePanel
方法中,您必须将[self close]
更改为[self.window orderOut:self]
.
关于cocoa - NSPanel 在错误的空间弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245219/