gpt4 book ai didi

swift - cocoa 应用程序 : how to close a window without terminating the app?

转载 作者:行者123 更新时间:2023-11-30 12:20:26 26 4
gpt4 key购买 nike

我正在使用 Swift 开发 Cocoa 应用程序。该应用程序会打开一个窗口,用户可以使用菜单打开另一个窗口。问题是,当使用红色按钮关闭任一窗口时,应用程序都会终止。我不想要这种行为;我希望该应用程序保持活力。它没有崩溃; AppDelegate 的 applicationWillTerminate 方法执行。

AppDelegate 有方法 applicationShouldTerminateAfterLastWindowClosed,该方法返回 false,但该方法永远不会被执行。

我是一名相当有能力的 Swift iOS 开发人员;这是我的第一个真正的 Cocoa 应用程序,我怀疑这很简单,但我现在很困惑。如何在不完全终止应用程序的情况下关闭窗口?

编辑:以下是一些代码片段:

在 AppDelegate 中:

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
Log.methodEnter()
return false
}

同样在AppDelegate中,打开窗口的方法:

@IBAction func openVerbSettingsWindow(sender: NSMenuItem) {
verbSettingsWindowController.showWindow (nil)

}

从 windowViewController 中,在窗口加载和显示时执行任何操作的唯一方法:

override func windowDidLoad() {
super.windowDidLoad()
window?.setFrame(NSMakeRect(400.0, 100.0, 950.0, 450.0), display: true)
}

我希望这会有所帮助!

最佳答案

对于这个问题的回答我一点也不感到尴尬;它与 Cocoa 或我的代码无关。

我有一个名为 RedQuits 的应用程序,它将 OS X 配置为在该应用程序的最后一个窗口关闭时关闭该应用程序,而不是让该应用程序在没有窗口的情况下运行(OS X 默认行为)。当我摆脱 RedQuits 并重新启动以便 OS X 恢复其默认行为时,问题就消失了。由于某种原因,RedQuits 会导致我的 Cocoa 应用程序在任何应用程序窗口关闭时退出。有趣的是,我发现这一点是因为它会在 Xcode 中导致相同的行为:关闭一个项目窗口并关闭 Xcode。

关于swift - cocoa 应用程序 : how to close a window without terminating the app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com