1

我正在使用库“PhoneNumberKit”来格式化我在我的应用程序上使用的 UITextfield,我用它来输入电话号码。

我正在使用 PartialFormatter 将输入格式化为电话号码掩码样式。

@IBAction func onPhoneNumberChanged(_ sender: Any) {

        if (phoneNumberTextField.text?.count ?? 0 < 15) {
            phoneNumberTextField.text = PartialFormatter().formatPartial(phoneNumberTextField.text ?? "")
        } else {
            phoneNumberTextField.deleteBackward()
        }


    }

我的问题是它总是将字符串格式化为本地电话号码,我想强制将其格式化为美国电话号码掩码。

图书馆说:

The default region code is automatically computed but can be overridden if needed.

但没有给出任何强制地区代码到特定国家的例子

这是我正在使用的库: https ://github.com/marmelroy/PhoneNumberKit

这里有人有关于如何做到这一点的任何例子吗?

谢谢

4

2 回答 2

2

通过以下方式修复它:

    phoneNumberTextField.text = PartialFormatter(phoneNumberKit: PhoneNumberKit(), defaultRegion: "US", withPrefix: true).formatPartial(phoneNumberTextField.text ?? "")
于 2018-12-04T08:40:58.253 回答
0

默认区域代码是自动计算的,但可以根据需要覆盖,如下所示

class MyTextField: PhoneNumberTextField {
    override var defaultRegion: String {
        get {
            return "US"
        }
        set {} // exists for backward compatibility
    }
}

参考

于 2020-03-14T10:53:07.633 回答