私はそれに2つのビューを持つウィンドウを持っています:

ムービー ビューとコントローラー ビューの両方が、さまざまな目的でmouseDown:とmouseUp:をオーバーライドします (ムービー ビューにはターゲットとアクションがあり、ボタンとして反応しますが、コントローラーはドラッグのシークとサポートをサポートします)。
ひねりを加えたのは、ムービー ビュー内をクリックすると (スクリーンショットに示されているように、一般に、ムービー ビューを見逃すのに十分な大きさであり、代わりにコントローラー ビューにヒットする可能性が非常に低くなります)、mouseDown:およびmouseUp:メッセージがコントローラー ビューに送信されることです! ムービー ビューはどちらのメッセージも受け取りません。
ムービー ビューまたはその親ビュー (プレーンな NSView) ではオーバーライドせずhitTest:、コントローラー ビューでのみオーバーライドしました (そのビューにあるトラッキング エリアに関係する理由で、私の実装は単純に を返しますself。これは、コントローラー ビュー)。
それで、何が得られますか?