作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个问题。如何将鼠标右键菜单添加到 NSCollectionViewItem。作为尝试,我还使用了 Apple 的演示应用程序 IconCollection。我尝试将 NSMenu 拖到 IconViewPrototype.xib 并将其连接到 IB 中的 View 菜单导出。但是在构建和运行时,单击鼠标右键,没有任何反应。我认为NSBox也是NSView的子类,应该支持鼠标右键菜单。
最佳答案
我最终创建了一个 NSView
子类,用作 CollectionViewItem
的 View 。在那里我设置了一个委托(delegate)(在 IB 中连接),并用它来捕捉鼠标右键单击并打开菜单:
-(void)rightMouseDown:(NSEvent *)theEvent {
NSMenu *menu = [self.delegate menuForCollectionItemView:self];
[menu popUpMenuPositioningItem:[[menu itemArray] objectAtIndex:0]
atLocation:NSZeroPoint
inView:self];
}
这仍然需要一些代码来将菜单定位到用户点击的位置,但这只是一个开始。
如果有人有更清洁的方法,我很想听听。
关于objective-c - 我如何将鼠标右键菜单添加到 NSCollectionViewItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463740/
我是一名优秀的程序员,十分优秀!