0

我想使用 rowViewForRow 来检查背景必须是什么颜色。我有一个包含多个数据的结构数组,它是一个排名。当有第一个位置时,背景必须变成蓝色。如果不是,背景必须是白色的。但是当我运行 rowViewForRow 时,该行没有被创建并且为零。在调试模式下,我可以看到 stuct 数组中的每条记录都被传递和循环。

func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? {
    if tableView == tableview {
        guard let _row = tableView.rowView(atRow: row, makeIfNecessary: false) else {
            print("Rij: \(row) tableview: \(tableView)")

            return nil
        }

        if self.pouleStandenStruct[row].plaatsing == 1 {
            _row.backgroundColor = .blue

            return _row
        } else {
            _row.backgroundColor = .gray

            return _row
        }
    }

    return nil
}

我也尝试使用 tableview.makeView 但结果相同。新行上有一个零。

4

0 回答 0