如何从按钮B更改按钮A中的属性stringkey前景色?

时间:2018-05-24 10:58:38

标签: ios swift nsattributedstring nsmutableattributedstring

我有自定义属性文字的按钮A.有没有办法可以用按钮B改变前景色?

这是按钮A:

    let buttonA: UIButton = {
    let bt = UIButton(type: .system)
    bt.titleLabel?.numberOfLines = 0
    let attributedText = NSMutableAttributedString(string: "127", attributes: [NSAttributedStringKey.foregroundColor : UIColor.black])
    bt.setAttributedTitle(attributedText, for: .normal)
    return bt
}()

我想只更改颜色并记住NSMutableAttributedString中的字符串是动态的,所以我没有用于创建另一个attributionText的确切字符串,并从按钮B执行此操作。

let attributedTextFromButtonB = NSMutableAttributedString(string: "127", attributes: [NSAttributedStringKey.foregroundColor : UIColor.white])
bt.setAttributedTitle(attributedText, for: .normal)  
buttonA.setAttributedTitle(attributedTextFromButtonB, for: .normal)

谢谢!

1 个答案:

答案 0 :(得分:0)

这样做,

if let btnBTitle = buttonB.title(for: .normal) {
     let attributedTextFromButtonB = NSMutableAttributedString(string: btnBTitle, attributes: [NSAttributedStringKey.foregroundColor : UIColor.white])  
     buttonA.setAttributedTitle(attributedTextFromButtonB, for: .normal)
}