Objective c 在NSTableview标题上检测双击

Objective c 在NSTableview标题上检测双击,objective-c,cocoa,header,nstableview,Objective C,Cocoa,Header,Nstableview,我需要在NSTableView的标题上检测双击 我发现双击会触发以下内容,但我无法检测单击了哪个列: [table setTarget:self]; [table setDoubleAction:@selector(myDoubleClickInList:)]; 在myDoubleClickInList中:我使用的方法 [table clickedRow] == -1 以获取标题 但是我无法从[表单击列] 甚至有可能吗?如果我必须这样做,我会创建一个UIview子类,在视图顶部添加uitag

我需要在
NSTableView
的标题上检测双击

我发现双击会触发以下内容,但我无法检测单击了哪个列:

[table setTarget:self];
[table setDoubleAction:@selector(myDoubleClickInList:)];
在myDoubleClickInList中:我使用的方法

[table clickedRow] == -1
以获取标题

但是我无法从
[表单击列]

甚至有可能吗?

如果我必须这样做,我会创建一个
UIview
子类,在视图顶部添加
uitagesturerecognizer
(双击->选择器),并在
-(UIview*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)节中返回该自定义视图。虽然我现在不能提供任何代码,但我希望这会有所帮助

假设您可以访问名为
表的实例变量或属性,那么下面的命令将允许您获取列标识符

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...
}

或者,如果默认的表格分区视图对您来说已经足够好了,为什么不将该手势识别器添加到
viewForHeaderInSection:
中的视图中呢?嗯,对不起,我忘了提到我在osx而不是ios上。。。这行得通吗?显然,整个问题都没有读过。不,这个答案在OSX上不起作用。