NSMenuで非常に奇妙な問題が発生しています。
私が使用するNSMenuItemの約半分には、NSMenuItemのsetView:メソッドを介したカスタムビューがあります。このカスタムビューでは、mouseUp:を実装して、ユーザーがメニュー項目をクリックしたときにキャッチします。これは、メニューを初めて開いたときに完全に機能します。
ただし、2回目は、クリック時にマウスを押したままにすると、これらのメニュー項目のいずれでもmouseUpが呼び出されません。ただし、下をクリックしてカーソルを少し動かすと、mouseUpが呼び出されます。したがって、何らかの理由で何かがこれらのイベントをインターセプトしていますが、メニューが表示されるのは2回目であり、mouseDownイベントの後にカーソルが移動すると通過します。(ただし、メニューの1回目または2回目の表示では、何らかの理由でmouseDownが呼び出されることはありません)。
誰かがここで何が起こっているのかについて何か手がかりを得ましたか?マウスイベントをインターセプトするのは何ですか。また、メニューの最初の表示ではカスタムビューに渡されるのに、2番目の表示では渡されないのはなぜですか。