如何在 NSTableView 的行之间添加 space

How to add space between rows in NSTableView

我正在尝试在 NSTableView 的行之间添加 spaces,就像它看起来的那样 here。

但是,目前我的行看起来像 this,它们之间的间距为 0。

是否可以添加这些 space?我在 table 视图中找到了 this post on how to do it, but that's for UITableView, and I don't think you can add sections with NSTableView. Another thing I tried was using intercellSpacing,像这样:

tableView.intercellSpacing = NSSize(width: 0, height: 80)

但是,这只是增加了每行的高度,而不是增加了它们之间的 space。

最后,我调查了 drawSeparator,这看起来很有希望,但文档有限。扩展 NSTableRowView 并覆盖 drawSeparator 方法是否有效,基本上是通过绘制空白 space 作为分隔符?如果是这样,我将如何让我的 table 视图使用我的自定义行视图 class?

如果这些选项中的 none 有效,我也愿意伪造效果,也许通过让一行的实际内容小于行本身并使用剩余的 space 作为行之间的填充。但是,我不确定这是否可行,因为我现在正在使用 NSShadow,它会突出显示每一行的边界。

找到解决此问题的方法。以前,每一行由两列组成,一列用于文本字段,一列用于按钮。但是,我通过将所有文本字段和按钮放入一列中来更改它,这样每行只有一个单元格。然后我可以将 NSShadow 和其他样式应用于 NSTableCellView 而不是 NSTableRowView。这意味着我现在可以使用 intercellSpacing 在单元格之间创建垂直间距:

tableView.intercellSpacing = NSSize(width: 0, height: 80)

这些行仍然相互接触,但我已经禁用了它们的 borders/highlighting 所以你实际上看不到它们。另一方面,单元格 可见的,您可以根据需要调整它们的 spacing/styles。