我想设置我的表格单元格背景颜色
可以设置一种行(也称为RowType)
CheckRow.defaultCellSetup = { cell, row in cell.backgroundColor = .orangeColor() }
但是可以为任何类型(全局)设置一次吗?
您可以使用外观代理从AppDelegate didFinishLaunchingWithOptions函数全局自定义类型的属性。
CheckRow.appearance()
这样做的方法不止一种,一种方式可能比其他方式更好,这取决于您需要更改多少单元格或行类型。我知道两种方式(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的覆盖覆盖