Swift:如何从UITextField中建议的电话号码自动填充中删除“ +”和国家/地区代码

时间:2019-05-08 21:36:50

标签: ios swift uitextfield uikit

将UITextField的textContentType设置为.telephoneNumber时,使用文本字段时将显示建议的电话号码。

suggested phone number above keyboard

点击建议时,文本字段的文本将成为建议的电话号码,并以“ +1”开头。但是,我的文本字段中有一个下拉菜单供用户选择国家/地区代码,因此我不希望包含“ +1”。有没有一种方法可以检测到建议是否已被使用,并从文本字段中的该文本中删除了“ +1”?

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作...


class ViewController: UIViewController {

    @IBOutlet weak var yourTextfield: UITextField!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        yourTextfield.addTarget(self, action: #selector(textFiedDidChange(_:)), for: .editingChanged)
    }


    @objc func textFiedDidChange(_ sender: Any) {
        let prefix = "+1" // What ever you want may be an array and step thru it
        guard yourTextfield.text!.hasPrefix(prefix) else { return }
        yourTextfield.text  = String(yourTextfield.text!.dropFirst(prefix.count).trimmingCharacters(in: .whitespacesAndNewlines))
    }
}