我有一个问题。如何将鼠标右键菜单添加到 NSCollectionViewItem。作为尝试,我还使用 Apple 的演示应用 IconCollection。我尝试将 NSMenu 拖到 IconViewPrototype.xib 并将其连接到 IB 中的视图菜单出口。但是在构建和运行时,单击鼠标右键,没有任何反应。我认为NSBox 也是 NSView 的子类,应该支持鼠标右键菜单。
问问题
751 次
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 回答