cocoa - NSPanel 在错误的空间弹出

标签 cocoa osx-lion spaces nsmenuitem nspanel

所以,我正在查看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/

相关文章:

cocoa-touch - 如何从短网址获取长网址

include-path - Mac OS X Lion 和 Xcode 升级 : missing headers and libs

php - 如何使 ctype_upper 忽略大写检查中的空格?

vim - 如何编辑 .vimrc 文件以用空格替换制表符?

c# - Visual Studio 2019 忽略选项卡首选项

html - Cocoa Webview HTML 链接到桌面图像文件

macos - Swift iTunes ScriptingBridge 链接器错误

xcode - 一次构建一个元素的数组

scala - 如何为 Scala 2.10 设置 Intellij

xcode - 如何在 Mac OS X 上更新 LLVM 和 Clang