如何将鼠标右下方菜单添加到NSCollectionViewItem

时间:2012-05-05 16:25:23

标签: objective-c nscollectionview

我有一个问题。如何向NSCollectionViewItem添加鼠标右下方菜单。 我尝试使用Apple的演示应用程序IconCollection.I尝试将NSMenu拖到IconViewPrototype.xib并将其连接到IB中的视图菜单插座。但是在构建和运行时,单击鼠标右键单击,没有任何反复发生。我认为NSBox也是NSView的子类,鼠标右下方菜单应该是支持。

1 个答案:

答案 0 :(得分:3)

我最终创建了一个NSView子类,用作CollectionViewItem的视图。在那里我设置了一个委托(在IB中连接),用它来捕捉鼠标右键并打开菜单:

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

这仍然需要一些代码来定位用户点击的菜单,但这是一个开始。

如果有人有更清洁的方法,我很乐意听到它。