【问题标题】:OSX - Remove empty cells from NSTableViewOSX - 从 NSTableView 中删除空单元格
【发布时间】:2016-11-09 10:49:41
【问题描述】:

我有一个NSTableView,我正确填写了一些内容。
问题是当我运行应用程序时,空单元格保持可见并被压缩到默认大小。
我想摆脱它们,但我找不到 OSX 的解决方案(不胜感激 Swift 解决方案)

红色区域显示 UI 中的空单元格,而前 2 行填充了内容。
谢谢

编辑:

func numberOfRows(in tableView: NSTableView) -> Int {
        return array.count
    }

【问题讨论】:

  • 实际上我的array.count(它是可变的,因此是动态的)是2,我的意思是我没有前缀数量的可能包含或不包含数据的项目。抱歉,如果我没有粘贴任何代码,我希望有一个类似于 iOS 的解决方案,您只需添加一个空的UIView() 作为UITableView 的页脚
  • 我添加了我用来计算行数的代码。我尝试打印该值,它是 2(即正确)。我试图删除行分隔符,“效果”是我只有 2 行,因为空白行充当白色背景。找不到任何可以解决这个问题的方法,目前我将不使用行分隔符,但我不太喜欢这种 hack :-(

标签: swift macos nstableview


【解决方案1】:

一个简单的解决方案是继承/扩展 TableView 并覆盖 drawGrid 方法。正如您所要求的,如果您只有一列,这将很有效。
但是如果你有多个列,所有的垂直网格线也会消失。

class MyTableView: NSTableView {
   override func drawGrid(inClipRect clipRect: NSRect) {
    // Do nothing.
   }    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多