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

标签 objective-c cocoa

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

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

有什么想法吗?

谢谢。
-L

最佳答案

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

alt text

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

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

[window makeKeyAndOrderFront:nil];

关于objective-c - cocoa:如何重新打开关闭的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414816/

相关文章:

ios - 快速动态添加按钮

ios - 模态视图 Controller 生命周期?

objective-c - 向 NSView 添加 subview 会显示,但无法删除

objective-c - NSTask 未返回

cocoa - NSPredicate 在 QuickLook 插件中引发 'Unknown number type or nil passed to arithmetic function expression.'

objective-c - 来自 FSCopyURLForVolume 的完整 URL

objective-c - 如何通过绑定(bind)和 NSArrayController 命名 Core Data 添加/删除项目的撤消菜单项?

Cocoa:从网上下载的字体

swift - 避免重复属性方法

ios - UITextView - 奇怪的文本剪辑