J'ai un UIButton
et j'ai créé une extension pour ajouter une couleur d'arrière-plan pour un état différent.Couleur d'arrière-plan UIButton pour l'état en surbrillance/état sélectionné
J'utilise 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 ne ramasse pas une bonne couleur de fond et la couleur
UIButton
titre pour en surbrillance/état sélectionné.
J'ai eu le même problème, ce qui en fait la coutume a fait l'affaire. L'état pressé est surligné au lieu de ce que je pensais (sélectionné): S. – MQoder