如何重新打开 OS X 中情节提要中创建的关闭窗口

2024-01-05

我的问题很重要,但答案似乎不适用于 Swift/Storyboards。Cocoa:用 X 关闭后以编程方式显示主窗口 https://stackoverflow.com/questions/6201958/cocoa-programmatically-show-the-main-window-after-closing-it-with-x

基本上,我有一个或多或少的默认应用程序,带有菜单、窗口和 ViewController。如果用户在应用程序运行时关闭窗口,如何重新打开它?

我在应用程序委托中创建了一个连接到“打开”菜单项的操作。在此函数中,我想确保窗口可见。因此,如果用户关闭了它,它应该会重新出现。但我不知道如何访问关闭的窗口。故事板似乎不允许我在应用程序委托中为我的窗口创建一个出口。


这很容易归档,尽管它不是一个优雅的解决方案。向主窗口控制器的应用程序委托添加一个新属性。在下面的示例中,我将控制器称为MainWindowController.

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    var mainWindowController: MainWindowController? = nil
    func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
        mainWindowController?.window?.makeKeyAndOrderFront(self)
        return false
    }
}

在主窗口控制器的初始化中,我在应用程序委托中注册控制器:

class MainWindowController: NSWindowController {
    override func windowDidLoad() {
        super.windowDidLoad()
        // ...initialisation...
        // Register the controller in the app delegate
        let appDelegate = NSApp.delegate as! AppDelegate
        appDelegate.mainWindowController = self
    }
}

仅此而已,对我来说非常有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新打开 OS X 中情节提要中创建的关闭窗口 的相关文章

随机推荐

  • PackageManager.getComponentEnabledSettings() 在冷启动之间是否持续存在?

    如果我使用下面的代码禁用 AndroidManifest xml 中定义的静态 BroadcastReceiver 它会在重新启动后重新启用吗 似乎不是 但文档没有说明是否应该 final ComponentName compName ne
  • 计算R中表格每一行的线性趋势线

    是否有可能在不使用循环的情况下对数据帧的每一行进行线性回归 趋势线的输出 截距 斜率 应作为新列添加到原始数据框中 为了更清楚地表达我的意图 我准备了一个非常小的数据示例 day1 lt c 1 3 1 day2 lt c 2 2 1 da
  • Python Scrapy 和 Yield

    我目前正在第一次使用 Scrapy 开发爬虫 也是第一次使用 Yield 我仍在努力思考产量问题 刮刀 抓取一页以获取日期列表 解析 使用这些日期来格式化 URL 然后抓取 parse page contents 在此页面上 它找到每个单独
  • 使用 NSURLConnection 的自定义子类,它稍后如何“找到”类中的附加数据?

    这个博客提供了一个很好的解决方案来处理多个 NSURLConnections 创建一个自定义的 CustomURLConnection 类 它有一个额外的tag财产 http blog emmerinc be index php 2009
  • SharePoint 2010 文档库版本注释

    我想强制用户在签入文档之前添加评论 当用户选择签入时 会显示默认的弹出页面 以便选择版本和撰写评论 但评论字段不是必填字段 我们可以将其设为必填字段吗 你可以通过 EventReceiver 来做到这一点 public class Even
  • 使用 .htaccess 删除 .php 并重定向到其非 .php 版本

    我有一个网站 需要删除每个文件的 php 扩展名 然后将指向包含 php 扩展名的任何文件的任何链接重定向到同一文件 但不包含 php 我找到了以下代码 它非常有用 但是文件夹中包含的任何内容都将被重定向到根目录 如下例所示 http ww
  • 如何仅在 div 加载时运行函数?

    我只想在加载 div 时运行函数 当我加载页面时 会加载许多文件 在列表的末尾 PHP 回显一个 div 当显示这个时 jQuery 应该运行一个函数 我可以通过点击事件来完成此操作 但我希望它能够自动工作 而无需按下按钮 单击后 它的工作
  • 尝试了解 Pandoc 如何从 Markdown 转换为 Latex

    如果这是重复的话 我深表歉意 我有一个 Markdown 文件test md https www akshaygaur org test md它有两个乳胶数学模式部分 第一个乳胶块 在 md 文件中 begin flalign P 1
  • VScode:如何更改 HTML 打开和关闭标记的颜色

    如何更改 VScode 中 HTML 打开 关闭标签的颜色以匹配下图 我尝试过使用Highlight Matching Tag扩展名和以下设置 但这仅适用于选择 onFocus 标签 我希望开放标签的实际字体颜色与所有结束标签不同 谢谢你
  • 是否可以在不使用 ID 的情况下实现自增编号?

    我继续谷歌搜索并发现唯一的方法是使用 Id GeneratedValue strategy GenerationType Identity 但我已经有一个主键 我只需要另一个自动递增的字段 通过手动计算来编码确实很困难 我看到以下选项 1
  • iOS10 上的地址簿崩溃

    在 iOS10 0 中 从联系人选择器中选择联系人会使应用程序崩溃 联系人选择器显示使用ABPeoplePickerNavigationController像这样 let contactsPicker ABPeoplePickerNavig
  • maven 使用简单的命令行安装和部署第 3 方依赖项

    我们有许多未在任何地方托管的第三方依赖项 对于每一个 我们都有一个 jar 文件 我们希望能够将其安装和 或部署到我们的存储库 一些 jar 文件有自己的依赖项 我们也需要声明它们 我们为每个 jar 文件创建了 pom xml 文件 声明
  • ANR 错误 - 屏幕关闭 - 我该如何处理它们?

    我在开发人员控制台上收到此消息 指出我的应用程序已冻结 因为 ANR 意图广播 act android intent action SCREEN OFF flg 0x40000000 没有堆栈跟踪 因为这是由 Froyo 之前的用户提出的
  • 如何从 Sails JS 中的现有数据库生成模型?

    我首先从SailsJS and MySQL 我的数据库中有很多表 所以 我不知道在SailsJS有一个从数据库生成模型的工具 例如Database First in Entity Framework ASP 您应该使用 自动生成现有模型库数
  • 带有自定义适配器的 ListView

    我遵循了几个教程 但仍然无法填充我的列表视图 我究竟做错了什么 这是布局 spaced list xml
  • 在 iPhone 中计算行驶距离

    我需要找到两个地点之间的行驶距离 我不需要在地图中显示方向 只需要计算距离 我需要在我的应用程序中使用它 MapKit 允许这样做吗 有没有可以使用的替代方案 我可以使用 CloudMade 进行前向地理编码 但似乎没有获取行驶距离的选项
  • Haskell 智能构造函数的编译时检查

    我正在学习 Haskell 通过讲座 http www cis upenn edu cis194 spring13 http www cis upenn edu cis194 spring13 我有 module HanoiDisk Han
  • 如果未输入文本,则保持按钮禁用

    我想实现这样的目标 我有 4 个文本字段和 1 个选择字段 这是提交表单所需的 我想保持按钮禁用 除非文本字段具有值并且从下拉列表中选择了一个选项 我的代码是here http jsfiddle net C2mRd 3 我遇到的问题是 每当
  • 获得一副牌中的牌的得分值的最佳方法是什么

    我想知道创建一副带有分数的纸牌或计算分数的最佳方法是什么 正如您将在下面看到的 我有一个计算类来处理卡片分数 检查卡片是什么并给它一个值并计算获胜者 我正在创建一个二十一点游戏 我已经随机生成了卡牌 但现在每张卡牌的分数都遇到了麻烦 我只是
  • 如何重新打开 OS X 中情节提要中创建的关闭窗口

    我的问题很重要 但答案似乎不适用于 Swift Storyboards Cocoa 用 X 关闭后以编程方式显示主窗口 https stackoverflow com questions 6201958 cocoa programmatic