在我的 iPhone 应用程序中,我有一个textfield
接受电话号码。我需要以美国电话号码格式显示号码。这就像 (000) 000-0000。通常像 iPhone 联系人电话号码条目。我怎样才能做到这一点。任何想法将不胜感激。
问问题
6581 次
4 回答
3
对于自动格式化,我将addTarget与Adam引用的PhoneNumberFormatter结合使用。此处描述了实现。
于 2010-01-28T05:47:28.973 回答
1
您将从
http://the-lost-beauty.blogspot.com/2010/01/locale-sensitive-phone-number.html
不要忘记使用 PhoneNumberFormatter 类。该课程在该博客中也可用
于 2011-01-04T07:03:42.967 回答
0
- (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];
}
于 2012-09-29T12:03:50.500 回答
0
由于用户在文本字段中手动输入电话号码,您可以使用 UITextFieldDelegate 方法textField:shouldChangeCharactersInRange:replacementString:
动态更改输入的电话号码,方法是在输入 3 位后添加 '(' 在第 1 位 ')' 后输入 '-' 在 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];
}
于 2010-01-27T13:06:56.017 回答