在窗口单击时禁用应用程序激活

时间:2012-02-11 19:25:54

标签: objective-c cocoa window floating

在我的Cocoa / Objective-C应用程序中,我有一个浮动“永远在顶部”的实用工具面板,即使我的应用程序不活动也可以访问。我正在尝试禁用“在用户点击该面板时切换到我的应用程序”。

我想要实现的行为类似于OSX的键盘查看器(也是永不激活面板),因此在点击我的应用程序面板后,其他一些应用程序仍处于活动状态。即,使用键盘查看器键入地址时,Safari保持活动状态。甚至第三方屏幕键盘也具有此功能(例如来自CORALLO Software的键盘),这意味着此行为不会保留仅限系统

我在弄NSApplicationActivationPolicy,但没有积极的结果。我应该去哪个方向?

1 个答案:

答案 0 :(得分:1)

您应该查看canBecomeKeyWindow上的canBecomeMainWindowNSWindow方法。听起来您希望窗口保持 key 状态,而不能成为窗口。以下是一些可以帮助您的资源: