objective-c - Cocoa:当窗口不可见时应用程序关闭

标签 objective-c xcode macos cocoa

我正在制作一个带有两个窗口的 Cocoa 应用程序。我想隐藏这两个窗口,调用一些屏幕捕获功能,然后恢复窗口。我用的是

[mainWindow orderOut:self];

隐藏窗口,但是当我这样做时,整个应用程序都会关闭。在我的 AppDelegate 中,我有以下功能:

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

我是否错误地隐藏了窗口?为什么AppDelegate在使用orderOut时会认为窗口已经关闭?

我的应用程序可以完美运行,无需在 AppDelegate 中使用上述方法,我将其添加为最后一步,以便在实际关闭所有窗口时终止应用程序。谁能建议如何在不关闭应用程序的情况下使我的窗口暂时不可见?

最佳答案

我忘记了...你可以设置窗口的Visible:吗?如果是这样就解决了。

唯一的另一件事是当您以编程方式关闭窗口时设置一个 BOOL...iClosed Windows = YES。然后在恢复 Windows 时将其设置为 NO...然后在委托(delegate)方法中检查该 bool 并相应地返回 YES 或 NO。

关于objective-c - Cocoa:当窗口不可见时应用程序关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14753353/

相关文章:

ios - 在 UIViewController 类中,@IBOutlet self.tableView 为 nil

ios - AVAudioRecorder 在 prepareToRecord 上抛出异常

iphone - 如何在容器内执行推送转场

ios - 顺丰符号适配iOS版本

iphone - 按字符串值对字符串的 NSMutableArray 进行排序

linux - 在 Mac OS X 中清理信号量

objective-c - 在 Objective-c 中使用 Static

iphone - 获取的属性 v 关系(核心数据 - iPhone)

python-3.x - 如何在 Spyder 上添加 Python pep8 排除项?

macos - 如何调试 Mac OS 不使用硬件 H264 编码器的原因