5

質問があります。NSCollectionViewItemにマウスの右下メニューを追加するにはどうすればよいですか。試みとして、AppleのデモアプリIconCollectionも使用します。NSMenuをIconViewPrototype.xibにドラッグして、IBのビューのメニューアウトレットに接続しようとしましたが、ビルドして実行するときに、マウスを右クリックしても何も起こりませんでした。 NSBoxはNSViewのサブクラスでもあり、マウスの右下メニューがサポートされている必要があります。

4

1 に答える 1

3

NSViewのビューとして使用するサブクラスを作成することになりましたCollectionViewItem。そこでデリゲート (IB に接続) を設定し、これを使用してマウスの右クリックをキャッチし、メニューを開きました。

-(void)rightMouseDown:(NSEvent *)theEvent {
NSMenu *menu = [self.delegate menuForCollectionItemView:self];
[menu popUpMenuPositioningItem:[[menu itemArray] objectAtIndex:0]
                    atLocation:NSZeroPoint
                        inView:self];
} 

これには、ユーザーがクリックした場所にメニューを配置するためのコードが必要ですが、それが始まりです。

誰かがよりクリーンな方法を持っているなら、私はそれを聞きたいです。

于 2012-11-12T11:18:02.177 に答える