我正在尝试使用组和常规单元格创建一个基于视图的简单NSTableView
。除非我将此方法添加到NSTableViewDelegate/DataSource
:
func tableView(tableView: NSTableView, isGroupRow row: Int) -> Bool {
return (tableContent[row] as NSDictionary)["group"] != nil
}
它工作正常,但成为组细胞的细胞没有显示任何东西。我已尝试过不同的细胞类型,但仍然没有,只是半透明的灰色背景。即使我添加了类似
的内容override func drawRect(dirtyRect: NSRect) {
NSColor(calibratedRed: 0, green: 255, blue: 0, alpha: 1).setFill()
NSRectFill(dirtyRect)
super.drawRect(dirtyRect)
// Drawing code here.
}
到我的小组细胞类我只会得到一个半透明的灰色背景。
答案 0 :(得分:0)
我想也许你犯了和我今天一样的错误。
使用func tableView(tableView: NSTableView, isGroupRow row: Int) -> Bool
时,func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView?
不再为分组行提供tableColumn
,这意味着tableColumn
为零。因此,如果您的实施依赖于tableColumn.identifier
,则它是不可靠的。
您应该将实施更改为依赖row
分组行。