可可:如何重新打开一个关闭的窗口

时间:2010-12-11 02:10:04

标签: objective-c cocoa

我成功注册了热键;它的处理程序将我的应用程序窗口置于前面: [NSApp activateIgnoringOtherApps:YES]; (至少应该是这样)。

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

有什么想法吗?

感谢。
-L

2 个答案:

答案 0 :(得分:6)

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

alt text

关键是,如果您打算多次打开和关闭窗口,请确保未选中“关闭后释放”。您可能还想取消选中“在启动时可见”,以便更清楚地表明您将自己在代码中处理窗口的显示。 (这个标志的存在可能导致你的窗口被显示,当加载笔尖时立即显示)。

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

[window makeKeyAndOrderFront:nil];

答案 1 :(得分:2)

您必须明确告诉窗口进入屏幕。 activateIgnoringOtherApps:无法打开以前关闭的所有窗口。