0

簡潔にするために簡略化した私のコードは次のとおりです。

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")
    }
}

MyMainMenu.xibには、上記の AppDelegate で参照できる単一のウィンドウがあります。

キーボードのボタンを押すと、コンソールに「バー」が表示されます。マウスをクリックしても何も表示されません。マウスをクリックすると、それ以上のキー イベントは登録されません。

私は何が欠けていますか?マウス イベントがレスポンダー チェーンを奪うのはなぜですか? また、どこに行くのでしょうか?

4

1 に答える 1