2009-08-13 15 views

Répondre

2

Je pense. J'ai 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; 

}

0

lieu de désactiver ou non permettant à l'utilisateur d'ajouter ' (apostorpe) utiliser le code suivant, il vous permettra d'insérer '(apostorpe)

[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"]; 
0

Vous devriez 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; 
}