Question


J'ai un UITextField et je dois permettre que des chiffres, une virgule ou un point en tapant dans ce domaine.
Comment puis-je vérifier si cette chaîne contient un caractère au lieu de ces ci-dessus et comment puis-je remplacer / les supprimer?

Mon champ enregistre un coût et j'ai besoin que des chiffres, une virgule ou un point ...

aide quelqu'un peut me
Merci!

Était-ce utile?

La solution

Vous pouvez utiliser la méthode -textFieldDidEndEditing: du protocole UITextFieldDelegate. Cette méthode est appelée à chaque fois qu'un champ de texte démissionne le premier état de répondeur (à savoir la modification s'achève). C'est l'occasion de vérifier la chaîne saisie. Si vous souhaitez effectuer un contrôle après chaque caractère qui a été entrée, l'utilisation -textField:shouldChangeCharactersInRange:replacementString: comme le suggère donkim.

Autres conseils

Pour le champ de texte, vous pouvez utiliser la UITextFieldDelegate et mettre en œuvre la méthode textField:shouldChangeCharactersInRange:replacementString:. Selon la documentation, « le champ de texte appelle cette méthode chaque fois que les types d'utilisateurs un nouveau caractère dans le champ de texte ou de supprimer un caractère existant. » Dans la méthode, vous devez faire un chèque pour tous les caractères non numériques et de les supprimer.

Au lieu de vérifier la chaîne pourquoi ne peux pas vous assignez la valeur du clavier du textfield comme NumberPad. Pour que l'utilisateur ne sera pas en mesure de saisir une chaîne.

Vous pouvez le faire en surveillant l'entrée utilisateur dans le champ et la suppression automatique des caractères qui ne correspondent pas. Créer une méthode IBAction:

- (IBAction)validateEntry:(id)sender;

puis fixez au champ de texte Modification Modification événement . La méthode est appelée à chaque fois que le texte dans les changements sur le terrain, que ce soit de la saisie de l'utilisateur ou de l'utilisateur coller du texte dans.

Dans la méthode, vous pouvez examiner le texte et supprimer des caractères offensants ou plus poliment, mettre à jour un UILabel indiquant à l'utilisateur qu'elles sont entrées dans des caractères non valides et désactiver les boutons d'envoi jusqu'à ce qu'il soit fixé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top