KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a TableView with custom cells. I want a contextual menu to appear when the user right clicks (or any other Apple variants of right-click) on one of the cells (and know which cell they clicked on). I tried to subclass NSTableView and overwrite this method: - (NSMenu *)menuForEvent:(NSEvent *)theEvent; But it is never being called. On the other hand, - (void)rightMouseDown:(NSEvent *)theEvent; Gets called. But I'm not sure it's the one we want. More details: // // 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 gets called. hiTest gets called many times. But menuForEvent doesn't.
Tags (comma-separated)
Save Edits
Cancel