我有一个NSOutlineView的自定义子类,它使用TextFieldCell作为单元格。一些有孩子的物品(代表一群孩子)。
我想为包含子项的项目设置自定义颜色,为没有子项的项目设置另一种自定义颜色。我尝试在IB中更改它,但颜色仅针对子项更改,而在代码中我也可以设置自定义颜色,但仅针对子项。有人可以帮帮我吗?
答案 0 :(得分:0)
经过深入研究后,似乎唯一的方法是覆盖drawRow:
子类上的NSOutlineView
方法
答案 1 :(得分:0)
您还可以实现NSOutlineViewDelegate方法 - (void)outlineView:(NSOutlineView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn项目:(id)item;
在其中你可以有一个类似于以下内容的部分:
if ([self outlineView:self isGroupItem: item]){
NSColor *color;
if ([item.children count] == 0) {
color = [NSColor redColor];
}
else {
color = [NSColor blueColor];
}
[aCell setDrawsBackground:YES];
[aCell setBackgroundColor: color];
}
对格式化感到抱歉,我仍然很陌生。 这应该工作,因为我已经使用此代码类似的东西。 我希望这就是你要找的东西。