【问题标题】:setting row colours and heights for NSOutlineView (view based and source listing options selected )为 NSOutlineView 设置行颜色和高度(选择基于视图和源列表选项)
【发布时间】: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


    【解决方案1】:

    解决这个问题的另一种方法是设置用于标题的 NSTableCellView 的高度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多