已选择的 NSTableView 列

3
我也尝试了这个解决方案,但它并没有解决我的问题。 获取NSTableView中选定的列和行 基于视图的NSTable中获取选定的行和列 如何获取选定的列?当我使用NSTableViewselectedColumn属性时,我得到了什么?
[tableView selectedColumn] //returns -1
[tableView selectedRow] //returns 1,

有没有方法可以获取选定的列

注意:我想要获取选定的列,而不必创建NSTableView类的子类。


如果在 Objective-C 中一个整数的值是 -1,那代表什么意思?这是基础知识。 - El Tomato
@EI -1 表示该列未被选择。 - Sangram Shivankar
显然选择了第一行。您不能同时选择一行和一列。 - Willeke
那么我该如何获取列号? - Sangram Shivankar
您想要选择的列还是正在编辑的列? - Willeke
2个回答

2
我遇到过类似的问题,这是 Ken Thomases 解决我的问题的链接。希望它也能帮到你!
点击此处查看解决方案:如何从 NSTableView 中选择列和行。
在 Objective-C 中,我认为它应该是这个样子。

谢谢你的回答,但我正在使用Objective-C,而你的代码是用Swift编写的,我对Swift不太了解,请问你能否解释一下columnForView(sender)方法或它在Objective-C中的等价实现? - Sangram Shivankar
2
[self.tableview rowForView:sender]; 和列也是一样的。我认为应该是这样的,但我不是一个 Objective-C 专家。(我在我的旧回答中添加了一张图片) - Rafa Febrer
@RafaFebrer 先生,您真是个救星。这应该是被采纳的答案。 - Dmitry Serov

1
假设你想编辑的列:
id firstResponder = self.window.firstResponder;
if ([firstResponder isKindOfClass:[NSView class]])
    NSInteger column = [self.tableView columnForView:firstResponder];

谢谢您的回答,但我想要选择的列而不是正在编辑的列。 - Sangram Shivankar
所选列是 [tableView selectedColumn] - Willeke
[tableView selectedColumn]会返回-1,所以并不能解决我的问题。 - Sangram Shivankar
你选择列了吗? - Willeke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接