2015-05-24 50 views
1

我有一個狀態欄OS X應用程序,它有一個NSWindow,它顯示一個最小的UI。如果用戶沒有與應用程序交互,我希望窗口自動隱藏(可能使用NSTimer)。可可:如果用戶沒有做任何事情,隱藏NSWindow

NSWindow可以使用orderOut或setVisible方法隱藏,但我怎樣才能確保用戶沒有做任何重要的事情或與應用程序進行交互甚至應用程序在隱藏之前沒有進行一些UI更新?

我需要覆蓋NSWindow嗎?

任何幫助將是可觀的。

+0

你永遠不知道。如果他只是閱讀並思考內容,你會怎麼知道? –

+2

如果窗口是關鍵窗口或主窗口,我們可以檢測用戶是否正在使用它:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html #// apple_ref/OCC/instm/NSWindow/isMainWindow – Abhinav

回答

1

執行窗口委託的方法windowDidResignKey。所以你知道這不再是關鍵,你可以關閉它。