根据下一行是否为组行绘制自定义NSTableRowView

时间:2012-02-17 07:58:42

标签: cocoa nstableview

我有一个自定义NSTableRowView实现来显示我的数据单元格。该表还包含使用简单NSTextField的组行。

在我的自定义行视图中,我需要稍微更改底部分隔符的绘图,具体取决于下面的下一行是数据单元格(即我的自定义行)还是组标题。

对于群组标题,我不必绘制分隔符,否则我最终会得到一个2px分隔符,如屏幕截图所示。

有没有办法从NSTableRowView获取对下一个(或上一个)[NSTableRowView drawBackgroundInRect:...]实例的引用?

separators

1 个答案:

答案 0 :(得分:9)

我是否更正您的表格视图委托实施-tableView:rowViewForRow:

如果是,请让表格查看委托帮助:

  1. 将属性drawsSeparator添加到自定义行类。
  2. 在您的行类中,检查drawRect中此属性的值并相应地调整绘图。
  3. drawsSeparator的行中设置rowViewForRow。您可以使用-tableView:isGroupRow:调用row + 1以确定下一行是否为一个组(在检查后确保您不在最后一行)。