我有NSTableView
个对象。我需要在任何时候调用与我相关的菜单。通过它,我应该调用menuNeedsUpdate
方法进行菜单更新。
class MyClass
{
IBOutlet NSTableView *tableView;
IBOutlet NSMenu *mMenu;
}
//methods
void menuNeedsUpdate:(NSMenu*)inMenu
{
// do menu settings here
}
void myMethod:(id)inTableView
{
NSInteger row = [inTableView selectedRow];
//some condition checking here
// invoke menu of the tableView
}
答案 0 :(得分:0)
我更喜欢子类化NSTableView并实现- (NSMenu *)menuForEvent:(NSEvent *)theEvent
获取行的典型方法是
- (NSMenu *)menuForEvent:(NSEvent *)theEvent {
NSPoint where = [self convertPoint:[theEvent locationInWindow] fromView:nil];
NSInteger row = [self rowAtPoint:where];
}