如何在NSTableView中添加行间距

5

我试图在NSTableView中的行之间添加空格,就像这里(链接)展示的那样。

然而,目前我的行看起来像是这个(链接),它们之间没有间距。

是否有可能添加这些空格?我在这篇帖子中找到了如何做到这一点,但那是针对UITableView的,我认为你不能使用NSTableView添加部分。我尝试了另一种方法,即在表格视图上使用intercellSpacing,像这样:

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

然而,这只会增加每一行的高度,而不是增加它们之间的空间。

最后,我研究了drawSeparator,这似乎很有前途,但文档有限。扩展NSTableRowView并覆盖drawSeparator方法是否可行,基本上是在空白处绘制分隔符?如果可行,我该如何使我的TableView使用自定义的行视图类?

如果这些选项都不起作用,我也可以尝试模拟这种效果,比如将行的实际内容缩小到小于行本身,并使用剩余的空间作为行之间的衬距。然而,我不确定这是否可行,因为现在我正在使用NSShadow,它突出显示每一行的边界。

1个回答

5

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

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

行之间还是会相互接触,但我已经禁用了它们的边框/高亮,这样你实际上是看不到它们的。另一方面,单元格是可见的,并且您可以根据需要调整它们的间距和样式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接