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

问题描述 投票:1回答:2

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

可以设置一种行(也称为RowType)

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

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

swift eureka-forms
2个回答
2
投票

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

CheckRow.appearance()

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的覆盖覆盖

© www.soinside.com 2019 - 2024. All rights reserved.