objective-c - 当 NSWindow 指令退出时使 App 失去焦点

标签 objective-c cocoa nswindow

NSApplication *thisApp = [NSApplication sharedApplication];
[thisApp activateIgnoringOtherApps:YES];
[self.window orderFrontRegardless];

我使用上面的代码使我的应用程序在需要显示窗口时获得焦点,并且我想让应用程序在隐藏窗口时失去焦点。

[self.window orderOut:self];
[self.window resignMainWindow];
[self.window resignKeyWindow];

上面的代码无法解决问题。我该怎么做?

最佳答案

如果您愿意隐藏应用程序的所有窗口,您可以使用[[NSApplication sharedApplication] hide:nil]。这将自动激活队列中的下一个应用程序。如果您想激活另一个应用程序但仍将您的应用程序保留在屏幕上,则这有点困难。对于 Mac OS X 10.6+,您可以使用 NSRunningApplication类在您激活之前查找当前应用程序,然后在完成后重新激活它。

关于objective-c - 当 NSWindow 指令退出时使 App 失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036491/

相关文章:

iphone - 应用内购买确认对话框的本地化

objective-c - 获取 NSURLConnection 生成的实际 HTTP 请求消息?

objective-c - NSWindow 设置 View

objective-c - 重新启动之前已最小化然后关闭的非小型化 cocoa 应用程序

objective-c - 自定义 NSWindow 绘图

ios - 在 subview 的 subview 中禁用用户交互

objective-c - UIStackView 和 ViewWithTag

iphone - 如何将 NSArray 字符串对象值分配给其他 NSString 变量

cocoa - 将字符串数组发送到 NSPasteBoard

macos - 在 NSTableView OS X 中显示 rowActions