Отображение номера телефона в формате US в приложении для iPhone
-
23-09-2019 - |
Вопрос
В моем приложении для iPhone у меня есть textfield
принять номер телефона.Мне нужно отобразить номер
в формате телефонного номера в США.Это похоже на (000) 000-0000.Обычно нравится контактный телефон iPhone
ввод номера.Как я могу это сделать?Любая идея будет высоко оценена.
Нет правильного решения
Другие советы
Для автоматического форматирования я использовал Добавить цель в сочетании с моим Форматировщик телефонных номеров это Адам любезно предоставленная ссылка.Описана реализация здесь.
Вы получите программу форматирования телефонного номера от
http://the-lost-beauty .blogspot.com/2010/01/locale-sensitive-phone-number.html
Не забудьте использовать класс PhoneNumberFormatter .Этот класс также доступен в этом блоге
Поскольку пользователь вводит номер телефона вручную в текстовое поле, вы можете использовать метод UITextFieldDelegate textField:shouldChangeCharactersInRange:replacementString:
для динамического изменения введенного номера телефона добавьте '(' перед 1-й цифрой ')' после ввода 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];
}