Couleur d'arrière-plan UIButton pour le problème d'état sélectionné / sélectionné

J'ai un UIButton et j'ai créé une extension pour ajouter de la couleur d'arrière-plan pour les différents états.

Je suis en utilisant le code suivant:

extension UIButton {

    func setBackgroundColor(color: UIColor, forState: UIControlState) {

        UIGraphicsBeginImageContext(CGSize(width: 1, height: 1))
        CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(), color.CGColor)
        CGContextFillRect(UIGraphicsGetCurrentContext(), CGRect(x: 0, y: 0, width: 1, height: 1))
        let colorImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        self.setBackgroundImage(colorImage, forState: forState)
    }
}


//Set Button Title and background color for different states
    self.donateButton.setBackgroundColor(UIColor.redColor(), forState: .Normal)
    self.donateButton.setTitleColor(UIColor.whiteColor(), forState: .Normal)
    self.donateButton.setBackgroundColor(UIColor.greenColor(), forState: .Highlighted)
    self.donateButton.setTitleColor(UIColor.whiteColor(), forState: .Highlighted)
    self.donateButton.setBackgroundColor(UIColor.greenColor(), forState: .Selected)
    self.donateButton.setTitleColor(UIColor.whiteColor(), forState: .Selected)

Mon Problème est qu'il n'est pas de ramasser bon UIButton couleur d'arrière-plan et la couleur du titre pour en surbrillance/de l'état sélectionné.

Couleur d'arrière-plan UIButton pour le problème d'état sélectionné /sélectionné
Couleur d'arrière-plan UIButton pour le problème d'état sélectionné /sélectionné

source d'informationauteur Ashish Verma