【发布时间】:2013-09-13 23:33:07
【问题描述】:
我使用委托函数自定义了 NSOutlineView,以使用以下方法调整组项的行高和颜色:
- (void)outlineView:(NSOutlineView *)outlineView didAddRowView:(NSTableRowView *)rowView forRow:(NSInteger)row {
LOG(@"didAddRowView called");
if ([self outlineView:outlineView isGroupItem:[outlineView itemAtRow:row]])
[rowView setBackgroundColor:[NSColor controlColor]];
}
- (CGFloat)outlineView:(NSOutlineView *)outlineView heightOfRowByItem:(id)item {
if ([self outlineView:outlineView isGroupItem:item])
return 24.0;
else
return 36.0;
}
这几乎可以工作,结果如下所示。一节中的最后一行和下一节的标题之间有一个小间隙。任何人都可以阐明这可能是什么以及如何删除它。它可能是某种页脚,如果是的话,是否有任何 API 可以调整它?下面的图片是我完全删除outlineView:heightOfRowsByItem 后得到的。
不使用 heightOfRowsByItem 的结果
编辑:我通过将 outlineView backgroundColor 设置为我想要的标题行颜色然后将其他行颜色设置为白色来解决这个问题。如下所示,这填补了空白,但似乎仍然是一种解决方法。
【问题讨论】:
标签: nsoutlineview nstablerowview