显示菜单和菜单项

时间:2012-01-10 08:48:57

标签: objective-c cocoa

我有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

}

1 个答案:

答案 0 :(得分:0)

我更喜欢子类化NSTableView并实现- (NSMenu *)menuForEvent:(NSEvent *)theEvent

获取行的典型方法是

- (NSMenu *)menuForEvent:(NSEvent *)theEvent {
    NSPoint where = [self convertPoint:[theEvent locationInWindow] fromView:nil];
    NSInteger row = [self rowAtPoint:where];
}