web-dev-qa-db-fra.com

Comment obtenir UITextField Tap Event?

J'essaie d'afficher UIAlertView sur Tap ou Click sur UITextField pour IPad et IPhone. Je fais une IBAction et je l'attache avec l'événement Tap Down de UITextField.

Mais cela ne fonctionne pas correctement, cela ne signifie pas toujours, en cas d'iphone et ne fonctionne pas en cas d'iPad

- (IBAction) TopuchState
{
    //function code
}

s'il vous plaît aider Comment pourrais-je faire cela.

enter image description here

21
Azhar

Essayez d'ajouter une cible pour le début de la modification d'un champ de texte particulier (UIControlEventEditingDidBegin):

 [textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin];
25
J Max

Comme vous êtes déjà abonné pour être délégué UITextField, implémentez cette méthode:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];
    [alert show];

    return YES;
}
28
Lucien

Dans Swift

Ajouter une cible pour un champ de texte particulier pour l'événement .editingDidBegin dans la méthode viewDidLoad

self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin)

func textFieldTouched(textField: UITextField) {
//Show AlertView
}
3
jaiswal Rajan

Je pense que c'est plus facile si vous définissez le délégué pour le UITextField et implémentez la méthode:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

puis à l'intérieur de cette méthode, vous pouvez facilement créer et afficher votre UIAlertView.

Jetez un oeil à ITextFieldDelegate .

Bonne chance!

2
Zalykr

Connectez TextField avec délégué et appelez maintenant cette fonction !!

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {       
   textView.text=@"   ";
   return YES;
}
1
Shubham Maheshwari