【问题标题】:Mac window doesn't open after closingMac 窗口关闭后打不开
【发布时间】:2016-05-17 14:40:39
【问题描述】:

我正在使用 Xcode(目标 C)开发 Mac 应用程序。该应用程序启动并且工作正常,但是当我单击左上角的红色关闭按钮时,出现了问题。应用程序按预期关闭,但默认的 OS X 行为是让应用程序在后台运行(底部栏中的图标)。这本身不是问题,但是当我再次单击应用程序图标时。该应用程序不再打开。我必须右键单击,退出应用程序并再次打开它。

我确信这很容易解决,但我不知道从哪里开始。有没有人遇到过这个问题?谢谢!

【问题讨论】:

  • “按预期关闭”,默认情况下,我希望窗口关闭,而不是应用程序。然而,后者很容易安排(参见applicationShouldTerminateAfterLastWindowClosed)。听起来您的应用程序中的窗口管理可能存在问题。
  • 是的,窗口关闭,但应用程序没有关闭。问题是我无法通过单击图标重新打开窗口。我必须退出应用程序并再次打开它。
  • 我希望用户选择 File > New 而不是通过单击停靠图标打开一个新窗口。
  • 应用程序默认行为是关闭窗口,但无法再次打开(菜单中没有新窗口选项)。有什么办法可以在关闭窗口时退出应用程序,或者在单击关闭按钮时隐藏窗口,并在单击应用程序图标时再次显示它?
  • 您需要做一些工作来提供该功能。我相信如果您使用默认的基于 Xcode 文档的应用程序模板,那么它是免费的。据我所知,非基于文档的应用程序模板的窗口无法关闭,这是另一种选择。

标签: objective-c macos nswindow


【解决方案1】:

将此方法添加到应用委托:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
    [self.window makeKeyAndOrderFront:self];
    return NO;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多