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

上記のコードを使用して、ウィンドウを表示する必要があるときにアプリのフォーカスを取得し、ウィンドウを非表示にしたときにアプリのフォーカスを失わせたいと考えています。

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

上記のコードでは問題を解決できません。どうすればいいですか?

4

1 に答える 1

3

アプリケーションのすべてのウィンドウを非表示にしたい場合は、[[NSApplication sharedApplication] hide:nil]. これにより、次のアプリケーションが自動的にアクティベートされます。別のアプリケーションをアクティブにしたいが、アプリケーションを画面に表示したままにしておく場合、これは少し難しくなります。Mac OS X 10.6+ では、アクティブになる前にNSRunningApplicationクラスを使用して現在のアプリケーションを見つけ、完了後に再度アクティブにすることができます。

于 2012-06-14T16:00:31.410 に答える