عرض رقم الهاتف في تنسيق الولايات المتحدة في تطبيق iPhone

StackOverflow https://stackoverflow.com/questions/2146908

سؤال

في تطبيق iPhone لدي textfield لقبول رقم الهاتف. أحتاج إلى عرض الرقم في تنسيق رقم الهاتف الأمريكي. هذا مثل (000) 000-0000. عادة مثل إدخال رقم هاتف الاتصال iPhone. كيف يمكنني أن أفعل هذا. أي فكرة سيكون موضع تقدير كبير.

لا يوجد حل صحيح

نصائح أخرى

لتنسيق تلقائي ، استخدمت AddTarget بالاشتراك مع بلدي phonenumberformatter الذي - التي آدم يرجى الرجوع. تم وصف التنفيذ هنا.

سوف تحصل على رقم الهاتف من تنسيق

http://the-lost-beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html

لا تنس استخدام فئة PhonEnumberFormatter. هذا الفصل هو أيضا متاح في تلك المدونة

نظرًا لأن المستخدم يدخل رقم الهاتف يدويًا في حقل النص ، يمكنك استخدام طريقة uitextfielddelegate textField:shouldChangeCharactersInRange:replacementString: لتغيير رقم الهاتف الذي تم إدخاله ديناميكيًا عن طريق إضافة "(" قبل الرقم الأول ") بعد إدخال 3 أرقام"-بعد 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];
}
- (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];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top