我需要检测NSTableView
标题上的双击。
我在doubleclick上发现了以下触发器,但是我无法检测到哪个列被点击了:
[table setTarget:self];
[table setDoubleAction:@selector(myDoubleClickInList:)];
并在myDoubleClickInList:方法中使用
[table clickedRow] == -1
获取标题。
但我无法从[table clickedColumn]
获取列标识符
它甚至可能吗?
答案 0 :(得分: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...
}
答案 1 :(得分:-2)
如果我必须这样做,我会创建一个UIview
子类,在视图顶部添加UITapGestureRecognizer
(双击 - >选择器),并在- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
中返回自定义视图。我现在无法提供任何代码,但我希望这会有所帮助。