我有一个 NSPanel。它的目的是位于所有空间中的所有东西之上,而且它做得很好。
我不希望它成为firstResponder并从另一个应用程序中获取焦点。
我像这样子类化 NSPanel
class SomePanelClass: NSPanel {
override var acceptsFirstResponder: Bool{
return false
}
}
当窗口显示或我将其拖动到我所在的应用程序周围时,它似乎仍然具有焦点,并且它的名称位于菜单中,但击键不会在该应用程序中注册,直到我单击回其窗口。
我还可以采取其他措施来防止我的应用和面板窃取输入吗?
最佳答案
您可能想要重写 Panel 子类上的 canBecomeKeyWindow 以返回 NO。
- (BOOL) canBecomeKeyWindow {
return NO;
}
关于xcode - 如何阻止 NSPanel 窃取另一个应用程序的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236457/