【发布时间】:2015-10-21 01:23:54
【问题描述】:
当我在 tableView 上选择该单元格时,如何在 NSViewController 和 NSTableViewCell 之间进行通信? 在 iOS 上,您可以使用 setSelected,但在 OSX 中则完全不同。 NSTableCellView 类没有这样的功能。我可能遗漏了一些简单的东西。我如何与那个细胞交谈?我有一个自定义类单元格,在我的 tableView 控制器上,我得到了:
func tableView(tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
let previousSelected = NSIndexSet(index: selectedRow)
selectedRow = row
let indset = NSIndexSet(index: row)
// animate row expansion
self.tableView.noteHeightOfRowsWithIndexesChanged(indset)
// animate back the previously selected
self.tableView.noteHeightOfRowsWithIndexesChanged(previousSelected)
return true
}
我也有Row的高度...
func tableView(tableView: NSTableView, heightOfRow row: Int) -> CGFloat {
if row == selectedRow{
return 90
}else{
return 40
}
}
我要做的是让我的单元格知道它已被选中,因此它可以在选中时显示不同的内容。有人吗?
【问题讨论】:
-
您想以编程方式选择一个单元格(而不是通过用户发起的操作)?
-
没有。我只想让 Cell 类 - NSTableCellView 知道它何时被选中。我不确定它是否是让单元格知道它被选中的 ViewController,或者单元格类中是否有一个在单元格被选中时运行的方法以及该方法是什么
标签: storyboard swift2 nstableview osx-elcapitan nstablecellview