今天偶然将发现,在NSTableView中显示菜单和在普通的VIEW页面实现的效果不一样。
在普通页面中显示只需要使用- (void)rightMouseUp:(NSEvent *)theEvent事件响应即可,改方法继承于NSResponder类。
而在NSTableView中显示菜单时需要使用- (NSMenu *)menuForEvent:(NSEvent *)event方法,使其获得焦点。
在NSTabelView上选择某一条CELL使用代码如下
[[self window] makeFirstResponder:self];
NSPoint menuPoint = [self convertPoint:[event locationInWindow] fromView:nil];
int
row = [self rowAtPoint:menuPoint];