1

我有一个状态栏菜单应用程序 - 它不在 Dock 中运行(UIElement 是 YES)。

在用户定义的时间段后,它会将其窗口之一置于最前面(使用 makeKeyAndOrderFront)。设置了一个 NSTimer 以在几秒钟后摆脱它 - 我关闭窗口并使用以下命令隐藏应用程序:[NSApp hide];

我的问题是,我怎样才能把以前的应用程序的窗口放回前面?它是可见的,但不是前/焦点窗口。

编辑:如果有助于澄清我正在尝试做什么,当您使用键盘快捷键调用应用程序 Dash 然后将其关闭时,以前在前面的应用程序将返回到前面。

4

1 回答 1

7

我想多了 - 作为用户,可以隐藏一个应用程序,它会自动将焦点恢复到应用程序中下一行的窗口。这就是我在代码中所要做的:

[NSApp hide:nil];

为了更好地使用全屏应用程序,我还必须关闭我的应用程序中的窗口,即使它已被隐藏 - 否则,当我的应用程序的窗口下一次显示时,OS X 会跳转到我最后一次看到我的窗口的空间,a不和谐的经历。

[self.theWindow close];
于 2014-02-28T17:05:37.210 回答