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 回答