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