2015-03-29 3 views
2

Как зафиксировать событие однократного нажатия на строку NSTableView и вызвать действие? (Idealy, он должен вызывать действие только для левых кликов, а не для щелчков правой кнопкой мыши, но это необязательно.)NSTableView действие одного щелчка

Реализация -tableViewSelectionDidChange делегата из табличного представления находится рядом с тем, что я хочу. Однако, если выбранная строка выбрана, повторное нажатие на эту строку не вызывает -tableViewSelectionDidChange, так как выбор не изменился.

ответ

9

Подключите событие действия селектора на табличном (лучше с интерфейсом, разработанным), затем

- (IBAction)onAction:(id)sender { 
    NSTableView* tableView = (NSTableView*)sender; 
    // use tableView.selectedColumn/tableView.selectedRow to get the selection 
} 

Вы также можете подключить его из кода, если вы хотите Фро viewDidLoad:

[self.tableView setAction:@selector(onAction:)]; 
+0

Высокий. Это что-то не очевидное и плохо документированное – uchuugaka