以编程方式在Swift中设置标签颜色

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

在(iOS)SWIFT中,我想通过变量(尤其是数组)传递标签颜色。我计算一个数字(我的索引),然后在包含颜色字符串的数组中查找,选择一种颜色,然后将其传递给Label定义的UIColor部分:

而不是

myLabel.textColor = UIColor.green// SWIFT需要显式定义颜色“绿色”

我想要

var Tcolor = [“绿色”,“蓝色”,“红色”]

变量索引:Int = 1

myLabel.text =“ myLabel Text”

myLabel.textColor = UIColor.Tcolor [index]//这应该产生与上述相同的结果,但以编程方式。但是,它返回错误并带有注释“ Tcolor不是UIColor成员” ...

还有其他方法吗?

ios swift uicolor
1个回答
0
投票

这是因为TColor不属于UIColor库。

如果需要该功能,请添加TColor作为UIColor的扩展

  extension UIColor {
    static var TColor:[UIColor] {
    return [UIColor.green, UIColor.red, UIColor.blue]
    }

然后您可以将其称为UIColor.TColor[index]

如果您想在本地放置阵列

label.textColor = TColor[index]

我不确定您为什么将颜色存储为字符串。如果需要的话,我确定您可以添加一些与字符串名称匹配的函数,并返回UIColor。 (目前我目前不在办公桌旁)

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