У меня есть вид на основе NSTableView
.Каждое представление в таблице имеет настраиваемое текстовое поле.
Я хотел бы запустить действие, когда пользователь нажимает на текстовое поле (метку) внутри представления таблицы (представьте себе, что гиперссылка с настраиваемым действиемкаждая ячейка таблицы).
Я создал базовый подкласс NSTextField
для перехвата событий мыши.Однако они запускаются только при втором щелчке, а не при первом.
Я пытался использовать NSButton
, и он сразу срабатывает.
Вот код для пользовательской метки:
@implementation HyperlinkTextField
- (void)mouseDown:(NSEvent *)theEvent {
NSLog(@"link mouse down");
}
- (void)mouseUp:(NSEvent *)theEvent {
NSLog(@"link mouse up");
}
- (BOOL)acceptsFirstResponder {
return YES;
}
- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent {
return YES;
}
@end