Cocoa NSTableCellView如果为';这是一个分组单元
我正在尝试使用组和常规单元格创建一个简单的基于视图的Cocoa NSTableCellView如果为';这是一个分组单元,cocoa,nstableview,nstablecellview,Cocoa,Nstableview,Nstablecellview,我正在尝试使用组和常规单元格创建一个简单的基于视图的NSTableView。除非我将此方法添加到我的NSTableViewDelegate/DataSource,否则每个单元格都正确绘制并显示我需要的所有内容: func tableView(tableView: NSTableView, isGroupRow row: Int) -> Bool { return (tableContent[row] as NSDictionary)["group"] != nil } 它工作得很
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.
}
对于我的小组单元课,我只会得到半透明的灰色背景。我想也许你犯了和我今天一样的错误 使用
func tableView(tableView:NSTableView,isGroupRow row:Int)->Bool
时,func tableView(\utableview:NSTableView,viewFor tableColumn:NSTableColumn?,row:Int)->NSView?
不再为分组行提供tableColumn
,这意味着tableColumn
为零。因此,如果您的实现依赖于tableColumn.identifier
,那么它是不可靠的
您应该将实现更改为依赖分组行的
行
。是否可以显示NSTableViewDelegate的ViewForTable列?