2014-02-27 25 views
0

我有一個狀態欄菜單應用程序 - 它不在Dock中運行(UIElement爲YES)。在makeKeyAndOrderFront後將焦點返回到上一個應用的窗口

在用戶定義的時間段之後,它將其窗口之一帶到前面(使用makeKeyAndOrderFront)。幾秒鐘後NSTimer被設置爲擺脫它 - 我關閉窗口並隱藏應用程序: [NSApp hide];

我的問題是,我怎麼能把前一個應用程序的窗口回到前面?它是可見的,但不是前/聚焦窗口。

編輯:如果它有助於澄清我正在嘗試做什麼,當您使用鍵盤快捷方式調用應用程序Dash然後解僱它時,之前的應用程序將返回到前面。

回答

2

我正在推崇 - 作爲一個用戶,可以隱藏一個應用程序,該應用程序會自動將焦點恢復到下一行應用程序中的窗口。這就是我在代碼來完成:

[NSApp hide:nil]; 

要使用全屏應用軟件發揮很好,我也有關閉該窗口在我的應用程序,即使它被隱藏 - 否則,當我的應用程序的窗口是下一個如圖所示,OS X跳轉到最後一次看到我的窗口的空間,這是一種震撼的體驗。

[self.theWindow close];