以编程方式无法覆盖按钮插座的UIButton titleLabel属性
问题描述:
所以我在故事板中使用了大小类。该按钮在我的故事板中是使用自动布局和它的优点和所有。以编程方式无法覆盖按钮插座的UIButton titleLabel属性
我做了一个我的ViewController的插座,我试图改变标题标签的文本和文字颜色,这两者都不起作用。但是,圆角半径和背景颜色正在工作。
@IBOutlet weak var cancelButton_iPhone: UIButton!
func setupButtons() {
cancelButton_iPhone.layer.cornerRadius = 8.0
cancelButton_iPhone.backgroundColor = UIColor(red:1, green:1, blue:1, alpha:0.15)
cancelButton_iPhone.titleLabel?.textColor = UIColor.white
cancelButton_iPhone.titleLabel?.text = "testtest"
}
setupButtons()在ViewWillAppear中被调用。我也试过ViewDidLoad以及没有区别。
在故事板中,cancelButton_iPhone文本设置为“取消”,textcolor设置为黄色。这就是我的应用程序所反映的。而不是“测试”和白色文本。
谢谢
答
属性返回标题视图,如有必要将始终创建它们,并始终返回nil作为系统按钮。而UIButton是UIControl的子类,因此在更新按钮标题时总是需要指定ControlState!你可以调用func setTitle(_ title: String?, for state: UIControlState)
来设置按钮的标题,所以按钮的titleColor也是如此。
答
对于按钮标题,您应该使用这些方法。 FUNC setTitleColor(_色:的UIColor?对于状态:UIControlState) FUNC的setTitle(_标题:字符串?对于状态:UIControlState)
答
尝试添加下面的代码:
@IBOutlet weak var cancelButton_iPhone: UIButton!
func setupButtons() {
cancelButton_iPhone.layer.cornerRadius = 8.0
cancelButton_iPhone.backgroundColor = UIColor(red:1, green:1, blue:1, alpha:0.15)
cancelButton_iPhone.setTitle("testtest", for: .normal)
cancelButton_iPhone.setTitleColor(UIColor.white, for: .normal)
}
希望它能帮助。