【问题标题】:How to add space between rows in NSTableView如何在 NSTableView 中的行之间添加空格
【发布时间】:2019-07-14 20:54:52
【问题描述】:

我正在尝试在 NSTableView 中的行之间添加空格,就像它看起来 here 一样。

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

是否可以添加这些空格?我发现this post 知道如何做到这一点,但那是针对 UITableView 的,我认为您不能使用 NSTableView 添加部分。我尝试的另一件事是在表格视图上使用intercellSpacing,如下所示:

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

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

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

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

【问题讨论】:

    标签: swift macos nstableview


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 1970-01-01
      相关资源
      最近更新 更多