如何设置 UIButton 的标题文本颜色?

我尝试改变按钮的文本颜色,但它仍然保持白色。

isbeauty = UIButton()
isbeauty.setTitle("Buy", forState: UIControlState.Normal)
isbeauty.titleLabel?.textColor = UIColorFromRGB("F21B3F")
isbeauty.titleLabel!.font = UIFont(name: "AppleSDGothicNeo-Thin" , size: 25)
isbeauty.backgroundColor = UIColor.clearColor()
isbeauty.layer.cornerRadius = 5
isbeauty.layer.borderWidth = 1
isbeauty.layer.borderColor = UIColorFromRGB("F21B3F").CGColor
isbeauty.frame = CGRectMake(300, 134, 55, 26)
isbeauty.addTarget(self,action: "first:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(isbeauty)

我也试过改变它的红色,黑色,蓝色,但什么也没有发生。

195176 次浏览

必须使用与设置实际标题文本相同的 func setTitleColor(_ color: UIColor?, for state: UIControl.State)

isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), for: .normal)

快速 UI 解决方案

Button(action: {}) {
Text("Button")
}.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))

斯威夫特3号,斯威夫特4号,斯威夫特5号

改善评论。 这应该会奏效:

button.setTitleColor(.red, for: .normal)

设置按钮标题颜色的示例

btnDone.setTitleColor(.black, for: .normal)

这是迅五兼容的答案。如果你想使用其中一个内置的颜色,然后你可以简单地使用

button.setTitleColor(.red, for: .normal)

如果您想要一些自定义颜色,那么首先为 UIColor 创建一个扩展,如下所示。

import UIKit
extension UIColor {
static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}

然后使用它为您的按钮,如下所示。

button.setTitleColor(UIColor.themeMoreButton, for: .normal)

提示: 您可以使用此方法存储来自 rgba 颜色代码的自定义颜色,并在整个应用程序中重用它。

func setTitleColor(_ color: UIColor?,
for state: UIControl.State)

参数 :

Color: < br > 用于指定状态的标题的颜色。

State: < br > 使用指定颜色的状态。可能的值在 UIControl.State 中描述。

样本 :

let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)

参考单选按钮,你也可以使用分段控制,如下所示:

第一步: 将分段控件拖动到视图中 在属性检查器中更改两个部分的标题,例如“男性”和“女性”

第二步: 在代码中为它创建一个出口和一个动作

第三步: 创建一个变量,以便将来使用,以包含选择的数据

在守则中,应按以下方法行事:

@IBOutlet weak var genderSeg: UISegmentedControl!


var genderPick : String = ""




@IBAction func segAction(_ sender: Any) {


if genderSeg.selectedSegmentIndex == 0 {
genderPick = "Male"
print(genderPick)
} else if genderSeg.selectedSegmentIndex == 1 {
genderPick = "Female"
print(genderPick)
}
}

设置标题颜色设置标题颜色

btnGere.setTitleColor(#colorLiteral(red: 0, green: 0, blue: 0, alpha: 1), for: .normal)

可以用十六进制代码设置 UIButton 标题颜色

btn.setTitleColor(UIColor(hexString: "#95469F"), for: .normal)

如果您使用的按钮没有 NSAttribute,那么您可以简单地设置按钮的标题和颜色

yourButtonName.setTitle("Your Title", for: .normal)


enterCustomAmount.setTitleColor(.gray, for: .normal)

但是如果在按钮属性中提供 NSAttribute,则首先需要设置按钮的属性

var myAttribute = [ NSAttributedString.Key.foregroundColor: UIColor.init(hexString: "#FFAEA9")]

或者对于多个属性可以使用逗号分隔符,如

var myAttribute = [ NSAttributedString.Key.foregroundColor: UIColor.init(hexString: "#FFAEA9"), NSAttributedString.Key.font: UIFont(name: "Dubai-Medium", size: 16) ]

然后像这样分配给你的 UIButton

 let myString = "Your title"
let text = NSAttributedString(string: myString, attributes: myAttribute)
enterCustomAmount.setAttributedTitle(text, for: .normal)