OS X:捕获键盘输入而无需视觉上对焦

时间:2015-02-10 03:43:03

标签: macos cocoa keyboard focus

我想开发一个位于后台的应用程序,但可以显示一些用户界面,当被问到时会捕获键盘输入,例如Spotlight。

当Spotlight处于活动状态时,它会获得键盘输入,但背景中的窗口仍然具有视觉焦点。 (但后台应用程序中的任何插入点都会消失。)

我如何自己创建此效果?

1 个答案:

答案 0 :(得分:1)

窗口必须......

  • NSPanel
  • 的子类
  • 会覆盖canBecomeKeyWindow以返回true
  • 已使用包含NSNonactivatingPanelMask
  • 的样式掩码进行初始化

然后,您可以使用window.makeKeyAndOrderFront(nil)将其带到前面,即使您的应用程序未处于活动状态。