ios - settitle - UIButton color de fondo para el problema de estado resaltado/seleccionado
swift button action (2)
Tengo un UIButton y he creado una extensión para agregar color de fondo para un estado diferente.
Estoy usando el siguiente código:
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)
Mi problema es que no está recogiendo el color de fondo
UIButtonadecuado y el color del título para el estado resaltado / seleccionado.
Cuando se selecciona su UIButton . Si se enfoca en el botón, no resaltará el botón como estado. .Highlighted . Si no está seleccionado, lo resaltará como tu voluntad. Por lo que respecta a que tenga una imagen de fondo en su botón, usará el efecto predeterminado para resaltar una imagen. Si desea cambiar el estado a .Selected , debe establecer la variable selected de UIButton en verdadero.
Encontré el problema, UIButton se estableció en Sistema . Simplemente lo cambié a Personalizado , comenzó a funcionar como se esperaba.