2012-06-14 103 views
0
NSApplication *thisApp = [NSApplication sharedApplication]; 
[thisApp activateIgnoringOtherApps:YES]; 
[self.window orderFrontRegardless]; 

我使用上面的代碼讓我的應用程序在需要顯示窗口時獲得焦點,並且我想讓應用程序在隱藏窗口時失去焦點。當NSWindow訂購時讓應用程序失去焦點

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

上面的代碼無法解決問題。我該怎麼做?

回答

3

如果你很高興隱藏你的應用程序的所有窗口,你可以使用[[NSApplication sharedApplication] hide:nil]。這將自動激活下一個應用程序。如果你想激活另一個應用程序,但仍然保持你的應用程序在屏幕上,這有點困難。對於Mac OS X 10.6及更高版本,您可以使用NSRunningApplication類來查找當前的應用程序,然後再將其激活,然後在完成後重新激活它。

+0

謝謝,但你忘了隱藏的參數,它應該是這樣[[NSApplication sharedApplication] hide:nil] –

+0

好點。我會更正原來的記錄。 –

相關問題