Cómo editar el texto de UITextfield Si UITextfield tiene una cadena particular cuando el usuario interactúa con él
-
28-10-2019 - |
Pregunta
Estoy desarrollando un formulario. Entonces, cuando el usuario haga clic en el botón Enviar, verifique si se llenan todos los UITextfield:
-(BOOL)checkUITextField{
BOOL flag = YES;
if(cognome.text.length==0){
flag=NO;
cognome.backgroundColor=[UIColor redColor];
cognome.text=@"CAMPO OBBLIGATORIO";
}else if(indirizzo.text.length==0){
flag=NO;
indirizzo.backgroundColor=[UIColor redColor];
indirizzo.text=@"CAMPO OBBLIGATORIO";
}else if(citta.text.length==0){
flag=NO;
citta.backgroundColor=[UIColor redColor];
citta.text=@"CAMPO OBBLIGATORIO";
}
}
Ahora, si el usuario hace clic en uno de los UITextfield con fondo rojo y cadena "Campo Obbligatoria", quiero borrar el texto y retrasar el color en blanco. Intento usar uitextfielddelegate
e implementación textFieldShouldBeginEditing
revisando esto:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if([textField.text isEqualToString:@"CAMPO OBBLIGATORIO"]){
textField.text=@"";
textField.backgroundColor=[UIColor whiteColor];
}
}
No pasa nada..
Así que intento agregar una Ibaction y en XIB agregándolo a cada UITextfield, pero no pasa nada :( ¿Qué puedo hacer?
Solución
Me burlé de una prueba usando tu lógica y debería funcionar bien. Supongo que no has asignado el UITextField
delegar. En Interface Builder
Necesita CTRL+hacer clic en su UITextField
y arrastre al objeto que desea actuar como delegado.
Probablemente consideraría cambiar cómo verifica si necesita borrar el UITextField
. Verificar contra una cadena de interfaz de usuario (@"CAMPO OBBLIGATORIO"
) probablemente se rompa si i18nize su aplicación más tarde.