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

Mar*_*ark 5 cocoa nstableview

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

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

在组头的情况下,我不必绘制分隔符,否则我最终会得到一个2px分隔符,如屏幕截图所示.

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

分离器

pau*_*kow 9

我是否正确您的表视图委托实现-tableView:rowViewForRow:

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

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