【发布时间】:2018-02-28 05:57:12
【问题描述】:
我正在使用带有 HUD 样式的 NSPanel 来显示一些信息。
HUD面板里面有一个按钮,当用户点击按钮时,我会通过调用打开一个新窗口:
[anotherWindowController showWindow:self];
[anotherWindowController.window makeKeyAndOrderFront];
我希望面板在窗口显示时消失,所以我设置了主窗口的委托,并在windowDidResignMain回调中调用了[hudPanel orderOut:nil]。
HUD 面板确实消失了(我可以看到),但在它关闭后,它立即重新打开。
我检查了所有可能的orderFront: 代码,但没有一个被调用。所以我的手真的被束缚了。这是系统级别的行为吗?谁能指导我完成这个?
编辑:
我忘了提到,按钮位于 NSPopover 中。因此,基本上,HUD 面板中有一个 NSButton。当用户点击按钮时,会出现一个 NSPopover,在其中,有一个按钮可以打开新窗口。
非常感谢!
【问题讨论】:
标签: objective-c macos cocoa