如何在间隔中动态更改表原型单元格标签的颜色

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

我一直在搜索一个逻辑来动态更改tableView中标签的颜色,我使用arrayList来打印在tabels原型单元格上打印的主题(印地语,英语,数学,旁遮普语,地理),现在我想改变所有颜色每三个区间的受试者,如第一个细胞标签应该是红色,第二个应该是绿色,第三个应该是白色,并按照这个动态规则进行更为细胞

这是我用来打印静态单元格标签颜色的方法

    switch subjectsList[indexPath.row] {
    case subjectsList[1],subjectsList[4]:
        cell.subjectFirstLetter.textColor = UIColor.orange
    case subjectsList[2],subjectsList[5]:
        cell.subjectFirstLetter.textColor = UIColor.red
    default:
        cell.subjectFirstLetter.textColor = UIColor.white
    }

我怎么能让这种动态?

更新: - 解决了

let remainder = indexPath.row % 3
switch remainder {
case 1:
    cell.subjectFirstLetter.textColor = .orange
case 2:
    cell.subjectFirstLetter.textColor = .red
default: // e.g. zero
    cell.subjectFirstLetter.textColor = .white
}
ios swift dynamic intervals
2个回答
3
投票

使用Modulo

let color: UIColor

switch indexPath.row % 3 {
case 0:
    color = UIColor.red
case 1:
    color = UIColor.green
case 2:
    color = UIColor.white
default:
    break
}

cell.subjectFirstLetter.textColor = color

0
投票

在这里使用modulo(remainder)运算符和indexPath来设置标签颜色:

let remainder = indexPath.row % 3
switch remainder {
case 1:
    cell.subjectFirstLetter.textColor = .orange
case 2:
    cell.subjectFirstLetter.textColor = .red
default: // e.g. zero
    cell.subjectFirstLetter.textColor = .white
}

(请注意,您可以在此处使用快捷方式访问UIColor。)

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