在(iOS)SWIFT中,我想通过变量(尤其是数组)传递标签颜色。我计算一个数字(我的索引),然后在包含颜色字符串的数组中查找,选择一种颜色,然后将其传递给Label定义的UIColor部分:
而不是
myLabel.textColor = UIColor.green// SWIFT需要显式定义颜色“绿色”
我想要
var Tcolor = [“绿色”,“蓝色”,“红色”]
变量索引:Int = 1
myLabel.text =“ myLabel Text”
myLabel.textColor = UIColor.Tcolor [index]//这应该产生与上述相同的结果,但以编程方式。但是,它返回错误并带有注释“ Tcolor不是UIColor成员” ...
还有其他方法吗?
这是因为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。 (目前我目前不在办公桌旁)