Angezeigte Telefonnummer in US-Format in iPhone-Anwendung
-
23-09-2019 - |
Frage
In meinem iPhone app habe ich ein textfield
Telefonnummer zu übernehmen. Ich brauche die Nummer anzuzeigen
in der US-Telefonnummer Format. Das ist wie (000) 000-0000. Typischerweise wie iPhone Kontakt Telefon
Nummerneingabe. Wie kann ich das machen. Jede Idee wird sehr geschätzt.
Keine korrekte Lösung
Andere Tipps
Für die automatische Formatierung, habe ich addTarget in Kombination mit meinem PhoneNumberFormatter dass Adam freundlich verwiesen. Die Umsetzung wird beschrieben hier .
Sie finden die Telefonnummer Formatierer aus bekommen
http: // the-Verloren beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html
Vergessen Sie nicht, die PhoneNumberFormatter Klasse zu verwenden. Diese Klasse wird auch in diesem Blog
Availabel Da der Benutzer die Telefonnummer manuell in dem Textfeld eingeben, können Sie die UITextFieldDelegate Methode textField:shouldChangeCharactersInRange:replacementString:
dynamisch die eingegebene Telefonnummer ändern verwenden, indem ich ‚(‘ vor der 1. Ziffer ‚)‘ nach 3 Ziffern eingegeben werden ‚- 'nach 6 Ziffern.
(Oder), nach der Zahleneingabe erfolgt ist, können Sie das angezeigte Format wie folgt ändern:
- (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];
}