Objective c cocoa:如何重新打开关闭的窗口

Objective c cocoa:如何重新打开关闭的窗口,objective-c,cocoa,Objective C,Cocoa,我成功注册了一个热键;它的处理程序将我的应用程序窗口带到前面:[NSApp activateIgnoringOtherApps:YES];(至少应该如此) 当我的应用程序窗口不在前面时,我有预期的行为。 但当我关闭窗口(单击红色的x)或最小化窗口(单击黄色的-)时,它不起作用。 尽管如此,我仍然可以看到日志,因此调用了处理程序 有什么想法吗 谢谢。 -L您必须明确告诉窗口显示在屏幕上activateIgnoringOtherApps:不会打开以前关闭的所有窗口。我会将窗口设置为在nib中具有以下

我成功注册了一个热键;它的处理程序将我的应用程序窗口带到前面:[NSApp activateIgnoringOtherApps:YES];(至少应该如此)

当我的应用程序窗口不在前面时,我有预期的行为。
但当我关闭窗口(单击红色的x)或最小化窗口(单击黄色的-)时,它不起作用。 尽管如此,我仍然可以看到日志,因此调用了处理程序

有什么想法吗

谢谢。

-L

您必须明确告诉窗口显示在屏幕上
activateIgnoringOtherApps:
不会打开以前关闭的所有窗口。

我会将窗口设置为在nib中具有以下属性:

关键是,如果您计划多次打开和关闭窗口,请确保未选中“关闭时释放”。您可能还希望取消选中“启动时可见”,以更清楚地表明您将自己在代码中处理窗口的显示。(当加载nib时,很可能是这个标志的出现导致了窗口的显示)

要在代码中显示窗口,只需执行以下操作(假设您有一个用于窗口的IBOutlet):


谢谢MakeKeyandDerfront和activateIgnoringOtherApps的组合解决了这个问题。谢谢。我给MakeKeyandDerfront添加了一个调用,它成功了。
[window makeKeyAndOrderFront:nil];