gpt4 book ai didi

objective-c - 我关闭的 NSWindow 在哪里?

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

我有一个应用程序委托(delegate),它保存对 NSWindow 的引用,并且该程序(到目前为止的小型测试程序)通常使用主菜单和窗口中的 View 。

但是我发现,如果我关闭持有 View 的窗口,尽管程序仍在运行,但它就会消失。据我所知,窗口引用不为零,但如何恢复它,使其可见并再次显示在 Windows 菜单下?

该程序不是基于文档的。所有操作都在相关窗口中执行。

我在 Xcode 自动创建的 MainMenu.xib 中创建了窗口(这是在 Xcode7 或 8 中,但现在我已升级到 9)。

我对 Mac 上的 Windows 处理不熟悉,所以我知道这是一个非常基本的问题,但我完全被困在这里。我认为,一个应该包含所有功能的窗口消失而用户无法恢复它是很糟糕的。

最佳答案

如果您有对 NSWindow 的引用,则只需显示它即可。例如:

[窗口 makeKeyAndOrderFront:self];

但是如果用户关闭了应用程序的单个窗口,那么问题是:用户将如何触发该代码?最简单的答案是用户将单击 Dock 上的应用程序图标。要处理该点击,请在您的应用程序委托(delegate)上实现以下方法。

- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)hasVisibleWindows
{
if (hasVisibleWindows) {
return YES;
}
[window makeKeyAndOrderFront:self];
return NO;
}

关于objective-c - 我关闭的 NSWindow 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49156461/

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