ここではNSMenuで非常に奇妙な問題が発生しています。NSMenuItem、カスタムビュー、mouseUpの奇妙な問題:
私が使用するNSMenuItemの約半分は、NSMenuItemのsetView:メソッドを使用してカスタムビューを持っています。このカスタムビューでは、私はmouseUpを実装しました:ユーザがメニュー項目をクリックしたときにキャッチするために、これは初めてメニューを開くときに完全に機能します。
しかし、もう一度、マウスをクリックしたままにしておくと、これらのメニュー項目のいずれかでmouseUpが呼び出されません。しかし、私がクリックしてカーソルを少しだけ動かし、mouseUpを離すと呼び出されます。何らかの理由で何かがこれらのイベントをインターセプトしていますが、メニューが2回目に表示され、mouseDownイベントの後にカーソルが移動すると処理が終了します。 (何らかの理由で、mouseDownが呼び出されることはありません。
ここで何が起こっているのか誰かが手がかりを得ていますか?私のマウスイベントを傍受しているのはなぜですか?また、メニューの最初の表示でカスタムビューに渡されるのはなぜですか.2番目のメニューでは表示されません。
はまた、(通り抜けますmouseUpは2回目に呼び出されます)。 –
だから私はこのビューの上にNSTextViewsする必要があります。それらはmouseDownを取得していますが、スーパービューと同時に失敗することもあります。ほとんどの場合、マウスイベントを傍受するNSMenuの上に何かがあります。 –