Affichage numéro de téléphone au format américain en application iPhone
-
23-09-2019 - |
Question
Dans mon application iPhone J'ai textfield
d'accepter le numéro de téléphone. Je dois afficher le numéro
aux États-Unis format de numéro de téléphone. C'est comme (000) 000-0000. En règle générale comme le téléphone iPhone Contactez
entrée du numéro. Comment puis-je faire ceci. Toute idée sera grandement appréciée.
Pas de solution correcte
Autres conseils
Pour la mise en forme automatique, j'ai utilisé addTarget en combinaison avec mon href="https://stackoverflow.com/users/189804/adam-eberbach"> Adam de bien vouloir référencé. La mise en œuvre est décrit .
Vous obtiendrez le numéro de téléphone de formatter
http: // the-interruption de travail beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html
Ne pas oublier d'utiliser la classe PhoneNumberFormatter. Cette classe est également availabel dans ce blog
Étant donné que l'utilisateur entre le numéro de téléphone manuellement dans le champ de texte, vous pouvez utiliser la méthode UITextFieldDelegate textField:shouldChangeCharactersInRange:replacementString:
pour modifier dynamiquement le numéro de téléphone entré en ajoutant « ( » avant le 1er chiffre « ) » après 3 chiffres sont entrés « - 'après 6 chiffres.
(Ou) après l'entrée du numéro est fait, vous pouvez modifier le format affiché comme ceci:
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
//resign the keypad and check if 10 numeric digits entered...
NSRange range;
range.length = 3;
range.location = 3;
textField.text = [NSString stringWithFormat:@"(%@)%@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
//resign the keypad and check if 10 numeric digits entered...
NSRange range;
range.length = 3;
range.location = 3;
textField.text = [NSString stringWithFormat:@"(%@) %@-%@", [textField.text substringToIndex:3], [textField.text substringWithRange:range], [textField.text substringFromIndex:6];
}