Je travaille sur une application iPhone assez simple pour résoudre l'équation quadratique, principalement parce que c'est tellement facile - au moins les concepts et les mathématiques!becomeFirstResponder ne respecte pas les paramètres du clavier
J'ai créé une interface dans Interface Builder qui a quelques étiquettes, 3 champs de texte (varAfield, etc.) et un bouton Résoudre. Les 3 champs de texte définis comme UITextFieldDelegate ont été configurés pour qu'ils affichent automatiquement le clavier "Numbers and Punctuation". Ce code est utilisé pour masquer le clavier, puis passer automatiquement à la variable suivante lorsque l'utilisateur tape sur la touche de retour (qui dit « Next », sauf pour la variable C qui dit « Done »
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if (theTextField == varAfield) {
[varAfield resignFirstResponder];
[varBfield becomeFirstResponder];
}
if (theTextField == varBfield) {
[varBfield resignFirstResponder];
[varCfield becomeFirstResponder];
}
if (theTextField == varCfield) {
[varCfield resignFirstResponder];
}
return YES;
}
Quoi qu'il en soit, le problème Le clavier se présente comme il se doit, cependant, il utilise un clavier ASCII au lieu de "Numbers and Punctuation" La deuxième fois que ça s'appelle, ça fonctionne comme il se doit, aussi, si je commence à partir de la variable A Quel que soit l'endroit où je déplace la première instance de getFirstResponder, la première (et la seule première) fois qu'elle est appelée dans l'application, elle ne se comporte pas correctement ..
Mise à jour: La fonction "firstFesRespondeur" (même en première instance) respecte toujours la touche de retour choisie, mais quel que soit le clavier défini, elle affiche toujours la clé "ASCII Capable". Alors que se passe-t-il? J'ai tout vérifié dans IB et il semble que ce soit correct ...
Ok, j'ai fait d'autres tests dans le simulateur 3.0 et il semble fonctionner là-bas par rapport à la version sur laquelle je l'ai exécuté ... –