9
我有一个带有自定义单元的TableView。当用户在其中一个单元格上单击鼠标右键(或任何其他的右键单击的Apple变体)(并知道它们单击了哪个单元格时)时,会显示上下文菜单。可可:如何在右键单击NSTableView的单元格时获得上下文菜单
我试图子类NSTableView的,并覆盖此方法:
- (NSMenu *)menuForEvent:(NSEvent *)theEvent;
但它永远不会被调用。
在另一方面,
- (void)rightMouseDown:(NSEvent *)theEvent;
被调用。但我不确定这是我们想要的。
更多细节:
//
// PTTableView.m
//
//
// Created by Nathan Hazout on 5/31/11.
// Copyright 2011 __MyCompanyName__. All rights reserved.
//
#import "PTTableView.h"
@implementation PTTableView
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (void)rightMouseDown:(NSEvent *)theEvent {
NSLog(@"entered rightMouseDown");
}
- (NSMenu *)menuForEvent:(NSEvent *)theEvent {
NSLog(@"entered menuForEvent");
return [super menuForEvent:theEvent];
}
- (NSView *)hitTest:(NSPoint)aPoint{
NSLog(@"entered hitTest");
return [super hitTest:aPoint];
}
- (void)dealloc
{
[super dealloc];
}
@end
rightMouseDown被调用。 hiTest被多次调用。但是menuForEvent不。
我应该在TableView还是Cell上做? – 2011-05-31 12:20:17
将上下文菜单分配给视图。 – 2011-05-31 14:08:30
Hi Rob,请你指出我应该怎么做才能左键单击(而不是右键)打开相同的上下文菜单。 – 2013-01-31 11:38:22