4

我正在可可中开发一个应用程序,它需要通过单击 NSTableview 中的复选框来选择一个项目。我需要选择单元格而不突出显示表格视图的行是否可以这样做...提前致谢

4

4 回答 4

20

NSTableView有一个调用的方法setSelectionHighlightStyle:,您可以将NSTableViewSelectionHighlightStyleNone其作为选项发送,它不会显示突出显示。

所以,在awakeFromNib:或类似的:

[tableView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];

于 2010-01-14T13:55:46.377 回答
2

通常,只能跟踪可选择或选定的单元格;复选框需要跟踪才能被选中/取消选中。

但是可以通过使用NSTableView的委托来做您想做的事情:该tableView:shouldTrackCell:forTableColumn:row:方法可用于允许跟踪不可选择或未选择的单元格。

于 2010-01-14T13:59:29.607 回答
1

NSTableview 有设置选择 HighlightStyle 的方法

在您的 tableivew 方法中添加以下行:

func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView?
{ 
    let cell:customCell = tableView.make(withIdentifier: 
     "customCell", owner: self) as! customCell

      tableview.selectionHighlightStyle = .none
}
于 2017-09-08T06:00:43.690 回答
0

为什么不在底层模型中设置相关的布尔属性?如果您使用的是 Bindings,表格视图应该会自动获取更改;如果没有,您可以告诉表视图重新加载该行。

于 2010-01-16T06:37:00.820 回答