Question

UITextField normale affiche un UIKeyboard qui comprend alpha + + Numberic spéciaux

Mais j'ai besoin alpha seulement ...

J'ai besoin parce que si l'utilisateur entre quelque chose comme - A'bad

il a un caractère '-. Qui affecte ma requête

Comment nous pouvons définir uniquement alphabetic UIKeyboard à l'utilisateur?

Était-ce utile?

La solution

Ce message SO répond à votre question: UIkeyboard tapez

Autres conseils

Je pense. Je suis la réponse.

Dans votre fichier UIViewController .h ajouter delegate<UITextfieldDelegate>

Maintenant, ajoutez le code suivant à .m fichier

- (BOOL) textField:(UITextField*)textField 
         shouldChangeCharactersInRange:(NSRange)range 
         replacementString:(NSString*)textEntered {

    for (int i = 0; i < [textEntered length]; i++) {
        unichar c = [textEntered characterAtIndex:i];
        if (![myCharSet characterIsMember:c]) {
           return NO;
        }
    }
    return YES;

}

Vous devez utiliser comme je le fais ci-dessous;

- (BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)characters
{
    NSMutableCharacterSet *filteredChars = [NSMutableCharacterSet letterCharacterSet];
    [filteredChars formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
    NSCharacterSet *blockedCharSet = [filteredChars invertedSet];
    if (([string rangeOfCharacterFromSet:blockedCharSet].location == NSNotFound)) {
          return YES;
    }
    return NO;
}

Au lieu de désactiver ou non permettant à l'utilisateur d'ajouter « (apostorpe) utiliser le code ci-dessous, il vous permettra d'insérer » (apostorpe)

[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top