Xcode 如何阻止NSPanel窃取其他应用程序的输入

Xcode 如何阻止NSPanel窃取其他应用程序的输入,xcode,swift,macos,Xcode,Swift,Macos,我有一个NSPanel。它的目的是坐在所有空间的一切之上,它做得很好 我不希望它成为第一反应者,并从另一个应用程序中获得关注 我是这样把NSPanel分类的 class SomePanelClass: NSPanel { override var acceptsFirstResponder: Bool{ return false } } 当窗口显示或我拖动它时,我所在的应用程序仍然显示有焦点,并且它的名称在菜单中,但在我单击返回该应用程序的窗口之前,按键不会在该

我有一个NSPanel。它的目的是坐在所有空间的一切之上,它做得很好

我不希望它成为第一反应者,并从另一个应用程序中获得关注

我是这样把NSPanel分类的

class SomePanelClass: NSPanel {
    override var acceptsFirstResponder: Bool{
        return false
    }
}
当窗口显示或我拖动它时,我所在的应用程序仍然显示有焦点,并且它的名称在菜单中,但在我单击返回该应用程序的窗口之前,按键不会在该应用程序中注册


是否有其他方法可以防止我的应用程序和面板窃取输入?

您可能希望覆盖面板子类上的canBecomeKeyWindow以返回否

- (BOOL) canBecomeKeyWindow {
  return NO;
}