gpt4 book ai didi

macos - 在 OSX 上重新打开窗口的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 16:25:50 25 4
gpt4 key购买 nike

我有一个在 Xcode 中创建的应用程序。它不是基于文档的。

如何才能使当用户单击停靠图标时,窗口重新打开?我正在用 Xcode 自动给我的 Nib 创建所有内容。

我尝试实现 applicationShouldOpenUntitledFile: 并在应用程序委托(delegate)的 window 属性上调用 makeKeyAndVisible,但这会与应用程序的图标混淆。 (我猜这与用作文档预览的图标有关。)

无论如何,我在谷歌上搜索了一下,大部分找到了对 Carbon API 或基于文档的应用程序的引用。

窗口创建过程如何在 NSApplicationMain 和我的应用程序的 nib 文件之间工作,如何复制该过程,以及在哪里可以这样做?

最佳答案

一般来说,我发现与 NSWindowControllers 一起工作使处理窗口变得更加简单。在您的情况下,您的应用程序委托(delegate)不会直接拥有该窗口,而是拥有 NSWindowController拥有该窗口。

为此,您需要创建一个新的 NSWindowController子类(带有用于用户界面的 xib),并将窗口从 MainMenu.xib 迁移到新的 WindowController.xib。把事情搞定,然后就可以开始了。 (另外,请确保窗口上的“启动时可见”复选框未选中)

从您的应用程序委托(delegate)中,您只需创建一个窗口 Controller 的新实例(无论是通过编程方式还是通过 MainMenu.xib 都没关系),并告诉它 -showWindow:当您希望窗口显示(或成为关键)时,并且 -close当你想让它消失时。

对于响应单击 Dock 图标,<NSApplicationDelegate>您正在寻找的方法是 -applicationShouldHandleReopen:hasVisibleWindows: .

关于macos - 在 OSX 上重新打开窗口的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985532/

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