【问题标题】:Selected Column Of NSTableViewNSTableView 的选定列
【发布时间】:2016-03-19 22:08:50
【问题描述】:

我也在尝试这个解决方案,但它不能解决我的问题

Get selected column and row from NSTableView

Get selected row and column in view based nstable

如何选择列? 当我使用NSTableViewselectedColumn 属性时得到什么

[tableView selectedColumn] //returns -1
[tableView selectedRow] //returns 1,

有什么方法可以得到选中的列

注意:我想在不创建子类的情况下获得选定的列 NSTableView 类

【问题讨论】:

  • 如果整数为-1,在Objective-C中意味着什么?这是基础。
  • @EI -1 表示未选中列
  • 显然选择了第 1 行。您不能同时选择一行和一列。
  • 那我怎样才能得到列号
  • 您想要选择的列还是正在编辑的列?

标签: objective-c cocoa nstableview


【解决方案1】:

我遇到了类似的问题,这是 Ken Thomases 解决的问题的链接。希望对你也有帮助!

Click here to see the problem solved: How do I select column and row from a NSTableView

In objective-C I think it should look like that

【讨论】:

  • 感谢您的回答,但我在 swift 中使用目标 c 和您的代码,我对 swift 了解不多,请您解释一下 columnForView(sender) 方法或其在目标 c 中的等效方法
  • [self.tableview rowForView:sender]; 与列相同。我认为应该看起来像那样,但我不是objective-c专家。 (我在旧答案上添加了一张图片)
  • @RafaFebrer 先生,您是救生员。这应该是公认的答案。
【解决方案2】:

假设您希望编辑列:

id firstResponder = self.window.firstResponder;
if ([firstResponder isKindOfClass:[NSView class]])
    NSInteger column = [self.tableView columnForView:firstResponder];

【讨论】:

  • 谢谢你的回答但是我想要选择的列而不是正在编辑的列。
  • 选中的列是[tableView selectedColumn]
  • [tableView selectedColumn] 将给出 -1。所以它不能解决我的问题
  • 您选择了列吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多