4

我需要检测对 aNSTableView的标题的双击。

我发现以下在双击时触发,但我无法检测到点击了哪一列:

[table setTarget:self];
[table setDoubleAction:@selector(myDoubleClickInList:)];

在 myDoubleClickInList: 里面我使用的方法

[table clickedRow] == -1

获取标题。

但我无法从[table clickedColumn] 它甚至可能吗?

4

2 回答 2

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...
}
于 2013-03-03T08:43:43.993 回答
-2

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

于 2013-03-02T14:22:42.460 回答