Cocoa App 在从初始 VC 转换后不会退出

Posted

技术标签:

【中文标题】Cocoa App 在从初始 VC 转换后不会退出【英文标题】:Cocoa App will not quit after transitioning away from initial VC 【发布时间】:2016-08-22 00:49:48 【问题描述】:

这是我的 ViewControllers 的设置

如果我运行应用程序并从一个视图控制器移动到另一个视图控制器,则“退出 appName”菜单项不起作用,视图将显示为工作表..

为什么退出初始 VC 时唯一没有触发的退出功能,但其他菜单项(例如最小化)工作正常? 我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

好的,我找到了解决方案。在呈现的每一类 ViewVontroller 中,我都必须插入:

  override func viewDidAppear() 
      self.view.window!.preventsApplicationTerminationWhenModal = false
    

Apple Doc:“通常,在打开模式窗口或工作表时会阻止应用程序终止,而无需咨询应用程序委托。但是,某些窗口可能希望不阻止终止。将此属性设置为 NO 会覆盖默认行为并允许即使窗口打开,也可以通过突然终止路径(如果启用)或在咨询应用程序委托后进行终止。”

【讨论】:

以上是关于Cocoa App 在从初始 VC 转换后不会退出的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa:我需要初始化值转换器以在 IB 中使用吗?

防止用户在从远程 ftp 服务器 cocoa 流式传输文件时重命名文件

在从初始化程序返回之前,不会在所有路径上调用 super init

Objective-C:标签栏项目的标题在登录页面后不会改变,但在从xCode重新启动时有效吗?

在 Cocoa App Swift [Mac OS] 中显示在 containerView 内的 NSViewController 不会与 Container 的边界对齐

Swift:在从初始化程序返回之前,不会在所有路径上调用“super.init”?