启动应用程序时,NSWindow不会变为活动/关键

时间:2012-08-28 13:50:00

标签: macos nswindow

我有一个单一的窗口Mac OSX应用程序。用户可以单击“x”(windowShouldClose()触发)然后我将命令窗口返回(即,不退出应用程序)。

如果我尝试通过在Dock中或通过cmd-tab单击它来恢复应用程序,则它不会变为活动状态。

我假设我需要在从文档中单击时明确地使窗口键/活动。

如果是这样,一旦用户从Dock中点击应用程序,该消息会发送给应用程序的是什么?

2 个答案:

答案 0 :(得分:0)

将这些方法添加到应用程序委托:

- (BOOL) applicationShouldOpenUntitledFile: (NSApplication *) sender {
    return YES;
}

- (BOOL) applicationOpenUntitledFile: (NSApplication *) theApplication {
    // Reopen your window here
    return YES;
}

答案 1 :(得分:0)

您应该像这样从NSWindowController继承:

class MyWindowController: NSWindowController, NSWindowDelegate {

    func windowShouldClose(_ sender: NSWindow) -> Bool {
        NSApp.hide(nil)
        return false
    }
}

然后,您只需要打开Main(或您具有的任何名称)情节提要,选择Window Controller并将MyWindowController设置为它:

enter image description here

Source