Обнаружить двойной щелчок по заголовку NSTableview
Мне нужно было бы обнаружить двойной щелчок на NSTableView
Заголовок
я обнаружил следующее, что срабатывает при двойном щелчке, но я не могу определить, по какому столбцу щелкнули:
[table setTarget:self];
[table setDoubleAction:@selector(myDoubleClickInList:)];
и внутри myDoubleClickInList: метод, который я использую
[table clickedRow] == -1
чтобы получить заголовок.
но я не могу получить идентификатор столбца из [table clickedColumn]
Это вообще возможно?
2 ответа
Предполагая, что у вас есть доступ к переменной экземпляра или свойству с именем table
тогда следующее позволит вам получить идентификатор столбца,
NSInteger column = [table clickedColumn];
NSRange columnRange = NSMakeRange(0, [table numberOfColumns]);
if (NSLocationInRange(column, columnRange){
NSTableColumn *tableColumn = [[table tableColumns] objectAtIndex:column];
NSString *identifier = [tableColumn identifier];
// Now do something with the column identifier...
} else {
// The click was not in a column, do something else...
}
Если бы мне пришлось это сделать, я бы создал UIview
подкласс с UITapGestureRecognizer
(двойное нажатие -> селектор) добавлено в верхней части экрана, и в - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
вернул этот пользовательский вид. Я не могу предоставить вам какой-либо код прямо сейчас, тем не менее, я надеюсь, что это будет полезно.