Вот мой код, упрощенный для краткости:
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
var fooController: FooController!
func applicationDidFinishLaunching(aNotification: NSNotification) {
self.fooController = FooController(frame: self.window.frame)
self.window.contentViewController = self.fooController
self.window.makeFirstResponder(self.fooController)
}
}
class FooController: NSViewController {
override func mouseUp(theEvent: NSEvent) {
print("foo")
}
override func keyUp(theEvent: NSEvent) {
print("bar")
}
}
У моего MainMenu.xib
есть одно окно, на которое вы можете ссылаться выше в AppDelegate.
Когда я нажимаю кнопку на клавиатуре, я вижу в консоли «полосу». Когда я щелкаю мышью, я ничего не вижу. Как только я щелкаю мышью, никакие другие ключевые события не регистрируются.
Что мне не хватает? Почему события мыши крадут цепочку респондента и куда она идет?