How do you set an Attributed Title Color for State in Swift How do you set an Attributed Title Color for State in Swift swift swift

How do you set an Attributed Title Color for State in Swift


// create the buttonlet button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))button.backgroundColor = UIColor.yellowColor()// set the attributed title for different states// .Selectedlet mySelectedAttributedTitle = NSAttributedString(string: "Click Here",    attributes: [NSForegroundColorAttributeName : UIColor.greenColor()])button.setAttributedTitle(mySelectedAttributedTitle, forState: .Selected)// .Normallet myNormalAttributedTitle = NSAttributedString(string: "Click Here",    attributes: [NSForegroundColorAttributeName : UIColor.blueColor()])button.setAttributedTitle(myNormalAttributedTitle, forState: .Normal)


Swift 4 & 5

    // create the button    let button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))    button.backgroundColor = UIColor.yellow        // set the attributed title for different states        // .Selected    let mySelectedAttributedTitle = NSAttributedString(string: "Click Here",                                                       attributes: [NSAttributedStringKey.foregroundColor : UIColor.green])    button.setAttributedTitle(mySelectedAttributedTitle, for: .selected)        // .Normal    let myNormalAttributedTitle = NSAttributedString(string: "Click Here",                                                     attributes: [NSAttributedStringKey.foregroundColor : UIColor.blue])            button.setAttributedTitle(myNormalAttributedTitle, for: .normal)

Swift 3

// create the buttonlet button = UIButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))button.backgroundColor = UIColor.yellow// set the attributed title for different states// .Selectedlet mySelectedAttributedTitle = NSAttributedString(string: "Click Here",                                               attributes: [NSForegroundColorAttributeName : UIColor.green])button.setAttributedTitle(mySelectedAttributedTitle, for: .selected)// .Normallet myNormalAttributedTitle = NSAttributedString(string: "Click Here",                                             attributes: [NSForegroundColorAttributeName : UIColor.blue])button.setAttributedTitle(myNormalAttributedTitle, for: .normal)


Swift 5 functions to set the color and font.

class func setButtonTextColor( _ button:UIButton , color:UIColor ) {    if let str = button.titleLabel?.attributedText {        let attributedString = NSMutableAttributedString( attributedString: str  )        attributedString.removeAttribute(.foregroundColor, range: NSRange.init(location: 0, length: attributedString.length))        attributedString.addAttributes(            [NSAttributedString.Key.foregroundColor : color],            range: NSRange.init(location: 0, length: attributedString.length)        )        button.setAttributedTitle(attributedString, for: .normal)    }}class func setButtonTextFont( _ button:UIButton, font: UIFont) {    if let str = button.titleLabel?.attributedText {        let attributedString = NSMutableAttributedString( attributedString: str  )        attributedString.removeAttribute(.font, range: NSRange.init(location: 0, length: attributedString.length))        attributedString.addAttributes(            [NSAttributedString.Key.font : font ],            range: NSRange.init(location: 0, length: attributedString.length)        )        button.setAttributedTitle(attributedString, for: .normal)    }}