如何从NSOutlineView获取所选单元格? 不是项目,而是细胞。 不是datacell而是当前的单元本身。
它是基于细胞的NSOutlineView。
答案 0 :(得分:0)
func getSelectedCell() -> NSTableCellView? {
if let view = outlineView.rowView(atRow: outlineView.selectedRow, makeIfNecessary: false) {
return view.view(atColumn: outlineView.selectedColumn) as? NSTableCellView
}
return nil
}
答案 1 :(得分:-1)
使用委托。当单元格更改其选择状态时,将调用willDisplayCell:
。
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {
id selectedItem = [outlineView itemAtRow:outlineView.selectedRow];
if (item == selectedItem) {
// 'cell' is selected cell for 'tableColumn'
}
}