Objective c 按X键后如何显示窗口

Objective c 按X键后如何显示窗口,objective-c,macos,Objective C,Macos,我正在使用Xcode 6和Objective C编写一个MacOSX应用程序 启动应用程序并按X键后,窗口将隐藏。是否有一种方法可以通过单击dock上的应用程序符号来显示窗口(如Safari)?当用户单击“X”(或红色“Close”点)时,实际上会完全关闭窗口,而不会隐藏它 要使窗口重新出现(假设它仍然在内存中,并且由于ARC而没有释放),您需要执行以下操作。单击dock图标时,捕捉正在单击的dock图标的最佳位置可能是。单击“X”或“close dot”后,窗口关闭,如果是根窗口,则您的应用程

我正在使用Xcode 6和Objective C编写一个MacOSX应用程序

启动应用程序并按X键后,窗口将隐藏。是否有一种方法可以通过单击dock上的应用程序符号来显示窗口(如Safari)?

当用户单击“X”(或红色“Close”点)时,实际上会完全关闭窗口,而不会隐藏它

要使窗口重新出现(假设它仍然在内存中,并且由于ARC而没有释放),您需要执行以下操作。单击dock图标时,捕捉正在单击的dock图标的最佳位置可能是。

单击“X”或“close dot”后,窗口关闭,如果是根窗口,则您的应用程序将关闭。因此,如果您想在单击“X”时隐藏或关闭点,则可以使用以下命令:-

//Called when clicked close option on window
- (BOOL)applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication
{
  [[NSApplication sharedApplication] hide:self];
  return NO;
}

//Called when you tap app icon on dock.
-(BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag{
  [[self.mainWindowController window] makeKeyAndOrderFront:self];
  return YES;
}

但是请记住,当我们隐藏一个OS X应用程序时,在一段时间后,操作系统将休眠该应用程序,称为NSAppNap,您的后台工作将被延迟,或者操作系统将以批处理形式执行这些操作。

感谢您提供了出色的代码示例和良好的解释。它的工作原理与我所期待的完全一样。第一条评论不是真的,因为我仍然可以在dock上看到应用程序图标。为什么在按下“X”后,它会完全关闭并保持应用程序图标在基座上?walle84的答案实际上解决了这个问题