iphone - ¿Cómo obtener UITextField Tap Event?
objective-c ios (5)
¡Conecta TextField con delegado y ahora llama a esta función!
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
textView.text=@" ";
return YES;
}
Estoy tratando de mostrar UIAlertView en Tap o Click de UITextField para IPad e IPhone. Realizo una acción IBA y la adjunto con el evento Tap Down de UITextField.
Pero no funciona correctamente, significa que no siempre, en caso de iPhone y no funciona en caso de iPad
- (IBAction) TopuchState
{
//function code
}
por favor ayuda ¿Cómo podría hacer esto?
Como ya está suscrito para ser delegado de UITextField, implemente este método:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];
[alert show];
return YES;
}
Creo que es más fácil si establece el delegado para el UITextField
e implementa el método:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
Luego, dentro de ese método, puede crear y mostrar fácilmente su UIAlertView
.
Echa un vistazo a UITextFieldDelegate .
¡Buena suerte!
Intente agregar un destino para cuando un campo de texto en particular comience a editarse ( UIControlEventEditingDidBegin
):
[textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin];
En swift 3
Agregue un destino para un campo de texto en particular para el evento .editingDidBegin en el método viewDidLoad
self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin)
func textFieldTouched(textField: UITextField) {
//Show AlertView
}