2017-09-16 60 views
0

所以我在故事板中使用了大小类。该按钮在我的故事板中是使用自动布局和它的优点和所有。以编程方式无法覆盖按钮插座的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设置为黄色。这就是我的应用程序所反映的。而不是“测试”和白色文本。

谢谢

回答

1

属性返回标题视图,如有必要将始终创建它们,并始终返回nil作为系统按钮。而UIButton是UIControl的子类,因此在更新按钮标题时总是需要指定ControlState!你可以调用func setTitle(_ title: String?, for state: UIControlState)来设置按钮的标题,所以按钮的titleColor也是如此。

0

对于按钮标题,您应该使用这些方法。 FUNC setTitleColor(_色:的UIColor?对于状态:UIControlState) FUNC的setTitle(_标题:字符串?对于状态:UIControlState)

0

尝试添加下面的代码:

@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) 
} 

希望它能帮助。