3

我正在为 OS X 开发一个屏幕键盘应用程序,类似于操作系统内置的应用程序(键盘查看器)。我似乎碰壁了,因为我不确定如何接受按钮的点击事件而不是从当前激活的应用程序中窃取焦点。我知道这是可能的,因为有些应用程序已经这样做了,例如 AssistiveWere 的 KeyStrokes。

所以我的问题是:如何让我的窗口接收鼠标事件并在不被激活的情况下处理它们?

PS 我在 OS X 开发方面不是很有经验,这是我的第一个 Swift 项目,如果这是一个微不足道的问题,请原谅。

4

1 回答 1

4

您需要使您的窗口成为NSPanel(或子类)的实例,包含NSNonactivatingPanelMask在其styleMask中,并设置becomesKeyOnlyIfNeeded为 true。(样式掩码可以在 IB 中控制。)您可能还希望它是浮动的,因此它始终位于普通窗口上方,因此floatingPanel也设置为 true。

于 2016-06-05T18:25:09.057 回答