如何将默认单元格设置设置为所有类型的单元格?

时间:2016-02-16 15:24:56

标签: swift eureka-forms

我想设置表格单元格背景颜色

可以设置一种行(又名RowType)

CheckRow.defaultCellSetup = { cell, row in cell.backgroundColor = .orangeColor() }

但是可以为任何类型(全局)设置一次吗?

2 个答案:

答案 0 :(得分:2)

您可以使用外观代理从AppDelegate didFinishLaunchingWithOptions函数全局自定义类型的属性。

CheckRow.appearance()

答案 1 :(得分:1)

执行此操作的方法不止一种,一种方式可能比其他方式更好,这取决于您需要更改多少单元格或行类型。我知道两种方式(Swift 4)

第一个,Ahmed Onawale的变种答案。在viewDidLoad()内,为要全局配置的每种行类型设置单元格。

IntRow.defaultCellSetup = { cell, row in
     cell.backgroundColor = .orange
}

虽然如果每个行类型的每个单元共享相同的功能可能会变得乏味,但如果是这种情况,则必须逐个设置每个Row类型的每个单元格,如下所示:

IntRow.defaultCellSetup  = { cell, row in cell.backgroundColor = .orange }
DateRow.defaultCellSetup = { cell, row in cell.backgroundColor = .orange }
TextRow.defaultCellSetup = { cell, row in cell.backgroundColor = .orange }

对于上述情况,还有另一种方法。

for循环遍历tableView的每个单元格,如下所示:

    for row in form.allRows {
        let cell = row.baseCell

        cell?.backgroundColor = .orange
    }

确保在设置表单后(在viewDidLoad的末尾)运行上面的代码,因此您的单元格配置不会被Eureka的覆盖