0

我喜欢在应用程序屏幕上显示国际电话号码,就像 Apple Contacts 应用程序(iPhone 6)使用的格式一样。例如:+1 (xxx) xxx-xxxx、+91 xxxxx xxxxx、+61 (0) x xxxx xxxx、xxxxx xxxxx。

我们能否部署标准的 Apple 电话号码显示格式,就像他们在 iOS 联系人应用程序中排列电话号码的方式一样。

请给我一些建议以继续....

是否有任何第三方 API 可用于识别号码并返回号码格式,如联系人应用号码格式。请告诉我...

我正在等待您的宝贵回复......

提前致谢。

4

1 回答 1

0

请尝试以下代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    int groupingSize = 2;
    if([string length] == 0) {
        groupingSize = 4;
    }
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init] ;
    NSString *separator = @"-";
    [formatter setGroupingSeparator:separator];
    [formatter setGroupingSize:groupingSize];
    [formatter setUsesGroupingSeparator:YES];
    [formatter setSecondaryGroupingSize:2];
    if (![string  isEqual: @""] && (textField.text != nil && textField.text.length > 0)) {
        NSString *num = textField.text;
        num = [num stringByReplacingOccurrencesOfString:separator withString:@""];
        NSString *str = [formatter stringFromNumber:[NSNumber numberWithDouble:[num doubleValue]]];
        textField.text = str;
    }
    return YES;
}

希望这可以帮助!

于 2017-07-31T09:00:27.120 回答