Comment assigner par programmation une méthode (observateur?) À l'événement didEndOnExit
d'un objet ? C'est assez facile à faire dans IB mais je ne peux pas comprendre comment le faire dans le code.Affecter une méthode à l'événement didEndOnExit de UITextField
6
A
Répondre
30
Je me suis juste sortir ...
[mytextField addTarget:self
action:@selector(methodToFire:)
forControlEvents:UIControlEventEditingDidEndOnExit];
4
Dans votre contrôleur de vue de mettre en œuvre la méthode suivante:
- (void)textFieldDidEndEditing:(UITextField *)textField{
//do stuff
}
Ne pas oublier de mettre le délégué à viewDidLoad ou initialiseur:
myTextField.delegate = self;
1
Pour tous ceux qui envisagent d'utiliser cette cible pour créer un autre champ textFirstResponder pour créer un Option de bouton 'Suivant' qui donne l'impression de "tabuler" à travers textFields Je recommanderais d'utiliser textFieldShouldReturn à la place avec du code comme celui-ci. Permettez-moi de vous dire que cela fonctionne si bien vous vous sentirez comme vous chevauchant une licorne:
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
if([textField isEqual:_textField1]){
[_textField2 becomeFirstResponder];
return NO;
}else if([textField isEqual:_textField2]){
[_textField3 becomeFirstResponder];
return NO;
}
return YES;
}
Cela ne fonctionne pas ... –
uou doivent assurer que le délégué est réglé. De plus, textField doit démissionner du premier répondeur, ce qui fait disparaître le clavier comme un indice que vous avez bien fait. –
Ce que vous avez posté peut-être raison, je ne sais pas. Cependant, le code que j'ai posté ci-dessus est plus élégant et accomplit exactement ce que je cherchais. –