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];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top