如何在活动时将所有应用程序的窗口置于前面?

时间:2013-05-21 04:31:40

标签: macos cocoa nswindow

在我的应用程序中,我同时在屏幕上有4-5个窗口。有时在工作时,一些窗口可以返回到其他应用程序的窗口后面(例如,在xcode或safari之后)。然后,当我将我的一个应用程序窗口激活时,其他3-4个窗口仍保留在背面。

有什么方法可以将所有应用程序的窗口都放在前面,当我让其中一个活动时?

P.S。我知道我可以使用[NSApp windows]并在循环中调用orderFrontRegardless,但我不知道如何抓住我的一个窗口变为活动状态的那一刻。

非常感谢任何形式的帮助或暗示!

1 个答案:

答案 0 :(得分:2)

这段代码对我有用:

-(void) applicationDidBecomeActive:(NSNotification *)notification
{
    // TODO: go over windows here and bring them active
    for (NSWindow * window in  [NSApp orderedWindows]) {
        [window orderFrontRegardless];
    }
}

不要忘记将文件设置为应用程序的委托,以使此代码正常工作。