¿Puedo cambiar el color del clearButtonMode en un textField?UITextField clearButtonMode color
muestra una X que es gris color oscuro para borrar el campo de texto,
pero puedo mostrar este botón con el color blanco?
gracias
¿Puedo cambiar el color del clearButtonMode en un textField?UITextField clearButtonMode color
muestra una X que es gris color oscuro para borrar el campo de texto,
pero puedo mostrar este botón con el color blanco?
gracias
Tendrá que crear su propia imagen botón claro en este caso. Sugeriría tomar una captura de pantalla del botón borrar y editar en photoshop.
Puede tomar esa imagen y crear un UIButton con las dimensiones de la imagen. Desde allí, puede configurarlo como el RightView de UITextField. De este modo:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"clear_button.png"] forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0f, 0.0f, 15.0f, 15.0f)]; // Required for iOS7
theTextField.rightView = button;
theTextField.rightViewMode = UITextFieldViewModeWhileEditing;
Mecanografié que sin comprobación de sintaxis y lo que no lo que usted quiere comprobarlo antes de ejecutarlo. También querrás reemplazar clear_button.png con el nombre de tu imagen.
También deberá escribir su propio método para borrar el campo de texto.
una forma más limpia es la implementación de una categoría en UITextField con este método:
- (void)modifyClearButtonWithImage:(UIImage *)image {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0f, 0.0f, 15.0f, 15.0f)];
[button addTarget:self action:@selector(clear:) forControlEvents:UIControlEventTouchUpInside];
self.rightView = button;
self.rightViewMode = UITextFieldViewModeWhileEditing;
}
-(IBAction)clear:(id)sender{
self.text = @"";
}
Creo que debería usar el parámetro 'image' en lugar del UIImage creado" clear-button ". – ingaham
versión Swift:
extension UITextField {
func modifyClearButtonWithImage(image : UIImage) {
let clearButton = UIButton(type: .Custom)
clearButton.setImage(image, forState: .Normal)
clearButton.frame = CGRectMake(0, 0, 40, 40)
clearButton.contentMode = .ScaleAspectFit
clearButton.addTarget(self, action: #selector(UITextField.clear(_:)), forControlEvents: .TouchUpInside)
self.rightView = clearButton
self.rightViewMode = .WhileEditing
}
func clear(sender : AnyObject) {
self.text = ""
}
}
No agregue la [misma respuesta] (http://stackoverflow.com/a/39831522/5292302) a preguntas múltiples. Responda el mejor y marque el resto como duplicados. Consulte [¿Es aceptable agregar una respuesta duplicada a varias preguntas?] (Http://meta.stackexchange.com/questions/104227/is-it-acceptable-to-add-a-duplica te-answer-to- varias preguntas) –
En el momento que está configurando el campo de texto, utilice:
let clearButton : UIButton = textField.value(forKey: "_clearButton") as! UIButton
let image = UIImage(named: "ClearWhite")
clearButton.setImage(image, for: .normal)
clearButton.backgroundColor = UIColor.clear
Esto ya no funciona en iOS 7. En su lugar, debe crear el botón con un marco. – Legoless
Apple debería proporcionar una manera elegante de que esto ocurra – vzm