2015-05-24 47 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。所以你知道这不再是关键,你可以关闭它。