我成功注册了热键;它的处理程序将我的应用程序窗口置于前面: [NSApp activateIgnoringOtherApps:YES]; (至少应该是这样)。
当我的应用程序窗口不在前面时,我有预期的行为 但是当我关闭窗口(单击红色 x )或最小化它(单击黄色 - )时它不起作用。 我仍然看到日志,因此调用了处理程序。
有什么想法吗?
感谢。
-L
答案 0 :(得分:6)
我会将窗口设置为在nib中具有以下属性:
关键是,如果您打算多次打开和关闭窗口,请确保未选中“关闭后释放”。您可能还想取消选中“在启动时可见”,以便更清楚地表明您将自己在代码中处理窗口的显示。 (这个标志的存在可能导致你的窗口被显示,当加载笔尖时立即显示)。
要在代码中显示窗口,只需执行以下操作(假设您有一个IBOutlet for window):
[window makeKeyAndOrderFront:nil];
答案 1 :(得分:2)
您必须明确告诉窗口进入屏幕。 activateIgnoringOtherApps:
无法打开以前关闭的所有窗口。