0

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

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

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

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

4

1 回答 1

2

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

于 2012-02-12T01:42:48.670 回答