【问题标题】:make App lose focus when NSWindow order outNSWindow 下订单时使 App 失去焦点
【发布时间】:2012-06-15 00:33:32
【问题描述】:
NSApplication *thisApp = [NSApplication sharedApplication];
[thisApp activateIgnoringOtherApps:YES];
[self.window orderFrontRegardless];

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

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

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

【问题讨论】:

    标签: objective-c cocoa nswindow


    【解决方案1】:

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

    【讨论】:

    • 谢谢,但是你忘记了 hide 的参数,应该是这样的 [[NSApplication sharedApplication] hide:nil]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多