如何在NSTableView中的行之间添加空间

时间:2019-07-14 20:54:52

标签: swift macos nstableview

我正在尝试在NSTableView的行之间添加空格,就像它的外观here

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

是否可以添加这些空格?我找到了this post的用法,但这是针对UITableView的,我认为您不能使用NSTableView添加节。我尝试的另一件事是在表格视图上使用intercellSpacing,例如:

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

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

最后,我调查了drawSeparator,它似乎很有希望,但文档有限。基本上通过在空白处绘制分隔符,来扩展NSTableRowView并覆盖drawSeparator方法是否有效?如果是这样,我将如何使表视图使用自定义行视图类?

如果这些选项都不起作用,那么我也可以假装产生效果,方法可能是使行的实际内容小于行本身,然后将剩余空间用作行之间的填充。但是,我不确定这是否行得通,因为现在我正在使用NSShadow,它突出显示了每一行的边界。

1 个答案:

答案 0 :(得分:0)

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

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

行仍在触摸,但我已禁用了边框/突出显示框,因此您实际上看不到它们。另一方面,单元格 是可见的,您可以根据需要调整它们的间距/样式。