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
UIButton
adecuado 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.