【问题标题】:NSPanel Popping up in the wrong spaceNSPanel 出现在错误的空间
【发布时间】:2012-02-12 00:08:00
【问题描述】:

所以,我正在查看 this 源代码,尝试使用 NSPanel 制作带有自定义弹出框的状态栏应用程序之一 -

一切正常,花花公子。单击 menulet 会调用 [panel makeKeyandOrderFront:nil],这在大多数情况下都有效 - 窗口通常会在其他所有内容前面的正确空间中弹出。

但是,如果我移动到全屏空间(例如全屏模式下的 Xcode)并尝试在那里使用菜单应用程序,面板会在错误的空间(之前出现的空间)中弹出,并且什么也没有显示在预定的空间。只有在第二次点击后它才会出现在正确的位置。

有人对这种现象有解释吗?

【问题讨论】:

    标签: cocoa osx-lion spaces nsmenuitem nspanel


    【解决方案1】:

    我也注意到了这一点,虽然我没有解释,但我找到了解决办法。在 PanelController.m 的第 249 行,在 closePanel 方法中,您必须将 [self close] 更改为 [self.window orderOut:self]

    【讨论】:

    • 您的修复有效!谢谢 - 我想我会使用它。我确实想知道为什么需要它...
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多