使用自定义UIColors时标签的文本颜色不会更改

时间:2015-12-17 18:57:54

标签: ios swift uilabel

所以,当我做这样的事情时,我的代码工作正常:

let label = UILabelBuiler("1", backgroundColor: UIColor.redColor(), textColor: UIColor.whiteColor(), font: UIFont(name: "FuturaStd-Heavy", size: 11)!)

但是当我这样做时它什么也没做:

let label = UILabelBuiler("1", backgroundColor: UIColor(red: 255, green: 75, blue: 75, alpha: 1), textColor: UIColor(red: 185, green: 200, blue: 202, alpha: 1), font: UIFont(name: "FuturaStd-Heavy", size: 11)!)

以下是我使用第一个时的样子:

enter image description here

这是第二个(不会显示)

enter image description here

我的UILabelBuilder功能如下所示:

func UILabelBuiler(labelText: String, backgroundColor: UIColor, textColor: UIColor, font: UIFont) -> UILabel {
   let label = UILabel(frame: CGRectMake(218, 14, 15, 20))
   label.text = labelText
   label.numberOfLines = 0
   label.sizeToFit()
   label.backgroundColor = backgroundColor
   label.textColor = textColor
   label.font = font


   return label
}

此外,有没有人知道如何绕过标签的背景?

2 个答案:

答案 0 :(得分:2)

UIColor的颜色成分定义为

  

颜色对象的{红色,绿色,蓝色,alpha}组件,指定为0.0的值   到1.0。

相应地调整值或将每个值除以255.0

答案 1 :(得分:1)

创建颜色时,它所期望的rgba值会浮动在0...1范围内,因此您可以将颜色作为浮点数输入,或者除以255

UIColor(red: 1.0, green: 0.29, blue: 0.29, alpha: 1.0)

UIColor(red: 255.0 / 255.0, green: 75.0 / 255.0, blue: 75.0 / 255.0, alpha: 1.0)