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

Swift 如何将默认单元格设置设置为所有类型的单元格?,swift,eureka-forms,Swift,Eureka Forms,我想设置窗体单元格的背景色 可以设置行的类型(也称为RowType) 但是可以为任何类型(全局)设置一次吗?您可以使用外观代理从AppDelegate didFinishLaunchingWithOptions函数全局自定义类型的属性 CheckRow.appearance() 实现这一点的方法不止一种,其中一种可能比另一种更好,这取决于需要更改的单元格或行类型的数量。我知道两种方法(Swift 4) 第一个是艾哈迈德·奥纳瓦尔答案的变体。在viewDidLoad()中,为要全局配置的每种行类

我想设置窗体单元格的背景色

可以设置行的类型(也称为RowType)


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

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

CheckRow.appearance()

实现这一点的方法不止一种,其中一种可能比另一种更好,这取决于需要更改的单元格或行类型的数量。我知道两种方法(Swift 4)

第一个是艾哈迈德·奥纳瓦尔答案的变体。在
viewDidLoad()
中,为要全局配置的每种行类型设置单元格

IntRow.defaultCellSetup = { cell, row in
     cell.backgroundColor = .orange
}
这将起作用,尽管如果每种行类型的每个单元格都共享相同的功能,可能会变得单调乏味,如果是这种情况,则必须逐个设置每种行类型的每个单元格,如下所示:

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 row in form.allRows {
        let cell = row.baseCell

        cell?.backgroundColor = .orange
    }
对于上面描述的场景,还有另一种方法

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

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 row in form.allRows {
        let cell = row.baseCell

        cell?.backgroundColor = .orange
    }
确保上面的代码在设置表单后运行(在viewDidLoad末尾),这样单元格的配置就不会被Eureka的覆盖