2010-03-27 7 views
0

Je veux désactiver ou aussi je ne donne pas la permission d'entrer le caractère alpha, alphanumérique et spécial dans UITextField Je veux dire lorsque l'utilisateur saisissez le caractère alpha et spécial dans la zone de texte, puis je veux rapidement afficher la boîte de message Lui, vous avez seulement utiliser 0, 1-9 chiffres. S'il vous plaît donnez-moi n'importe quel code source et des tutoriels à ce sujet.Comment désactiver les caractères alpha, alphanumériques et spéciaux dans UITextField?

Répondre

0

Jetez un coup d'oeil au protocole UITextFieldDelegate. Il existe une méthode appelée textField:shouldChangeCharactersInRange:replacementString: dans laquelle vous pouvez valider la chaîne de remplacement et renvoyer NO si elle appartient à l'un des ensembles non autorisés. En ce qui concerne la validation elle-même, voir la méthode rangeOfCharacterFromSet: de la classe NSString et la classe NSCharacterSet.

+0

zoul, La méthode ci-dessus est approprié pour le caractère, mais il doit fonctionner pour les caractères spéciaux? – Tirth

+0

Il existe une méthode 'invertedSet' sur' NSCharacterSet', de sorte que vous pouvez vérifier si la chaîne contient certains caractères de l'ensemble inversé de 'decimalDigitCharacterSet'. Si oui, vous interdisez la chaîne. Cela devrait permettre seulement les chiffres décimaux (si c'est ce que vous voulez). – zoul

1

Appelez setKeyboardType: sur votre UITextField et transmettez l'une des constantes UIKeyboardType. Je ne suis pas sûr de savoir lequel correspond à votre description.

- (void)awakeFromNib 
{ 
    [textField setKeyboardType:UIKeyboardTypeNumberPad]; 
} 
+0

Todd Yandell, Je modifie déjà le UIKeyboardTypeNumberPad en mode design, mais aussi UITextField me permet d'entrer des caractères alpha et spéciaux dans le champ de texte. – Tirth

Questions connexes