如何在Swift中设置UILabel的textColor

kag*_*six 61 iphone textcolor uilabel swift xcode6

当我尝试使用代码将UILabel的颜色设置为另一个UILabel的颜色时

myLabel.textColor = otherLabel.textColor
Run Code Online (Sandbox Code Playgroud)

它不会改变颜色.但是,当我使用此代码时,

myLabel.textColor = UIColor.redColor()
Run Code Online (Sandbox Code Playgroud)

它正确地改变了颜色.第一线有什么问题?

小智 49

最简单的解决方法是在IB中创建虚拟标签,为文本提供您喜欢的颜色并设置为隐藏.然后,您可以在代码中引用此颜色,以将标签设置为所需的颜色.

yourLabel.textColor = hiddenLabel.textColor
Run Code Online (Sandbox Code Playgroud)

我可以通过编程方式更改文本颜色的唯一方法是使用标准颜色UIColor.white,UIColor.green...


May*_*tel 43

下面的代码示例显示了一个基本UILabel配置.

let lbl = UILabel(frame: CGRectMake(0, 0, 300, 200))
lbl.text = "yourString"

// Enum type, two variations:
lbl.textAlignment = NSTextAlignment.Right
lbl.textAlignment = .Right

lbl.textColor = UIColor.red
lbl.shadowColor = UIColor.black
lbl.font = UIFont(name: "HelveticaNeue", size: CGFloat(22))
self.view.addSubview(lbl)
Run Code Online (Sandbox Code Playgroud)

  • 自定义颜色:`lbl.textColor = UIColor(红色:10/256,绿色:20/256,蓝色:30/256,alpha:1.0)` (3认同)

loo*_*dio 25

我不知道为什么要更改标签的文本颜色,你需要用255分割你想要的值,因为它只能工作到1.0.

例如深蓝色:

label.textColor = UIColor(red: 0.0, green: 0.004, blue: 0.502, alpha: 1.0)
Run Code Online (Sandbox Code Playgroud)


ter*_*ma9 6

在IB和以下内容中制作了带有两个标签的应用程序:

@IBOutlet var label1: UILabel!
@IBOutlet var label2: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    label1.textColor = UIColor.redColor() // in Swift 3 it's UIColor.red
    label2.textColor = label1.textColor
}
Run Code Online (Sandbox Code Playgroud)

label2颜色按预期更改,因此您的线路正常工作.println(otherLabel.textColor)在设置myLabel.textColor之前尝试一下,看看颜色是否符合您的预期.