2

私のアプリには 3 つありNSImageViewます。ユーザーがイメージビューを右クリックすると、「写真の追加」、「写真の削除」のNSMenu2つが表示されます。NSMenuItem私は 3 つの Imageview を持っているので、どの imageview がメニューを表示するかを知る必要があります。そのため、そのイメージビューのみで自分のことを行うことができます。

では、どうすればこれを行うことができますか?ウィンドウ内で NSMenu の位置が見つかりません。

4

1 に答える 1

1

NSEventアプリ内でコンテキスト(右クリック)メニューがいつ表示されるかがわかっている場合は、発生している生の" "データを取得できるはずです。それが起こっていることを検出するために、いくつかのオプションがあります( " "サブクラスの""をオーバーライドするなどrightMouseDown:NSWindow) 。

そして、その ""内で、 (Appleのドキュメントをリンクしました)をNSEvent取得できます。locationInWindowその情報を使用して、マウスダウンが3つの画像ビューフレームの境界内にあるかどうかを確認できます。

そして、どの写真を追加または削除するかがわかります。

于 2012-11-07T11:04:35.853 に答える