我正在为 OS X 开发屏幕键盘应用程序,类似于操作系统内置的应用程序(键盘查看器)。我似乎碰壁了,因为我不确定如何接受来自按钮的点击事件,而不是从当前激活的应用程序中窃取焦点。我知道这是可能的,因为已经有一些应用程序可以做到这一点,例如AssistiveWere 的击键。
所以我的问题是:如何让我的窗口接收鼠标事件并在不激活的情况下处理它们?
附言我在 OS X 开发方面不是很有经验,这是我的第一个 Swift 项目,如果这是一个微不足道的问题,请原谅。
最佳答案
您需要让您的窗口成为 NSPanel
(或子类)的实例,在其 styleMask
中包含 NSNonactivatingPanelMask
,并设置 becomesKeyOnlyIfNeeded
为真。 (样式掩码可以在 IB 中控制。)您可能还希望它 float 以便它始终位于普通窗口上方,因此也将 floatingPanel
设置为 true。
关于swift - 如何在仍然接收点击事件的同时使 OS X 应用程序无法聚焦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645172/