Swift: Как удалить «+» и код страны из предложенного автозаполнения номера телефона в UITextField - PullRequest
1 голос
/ 09 мая 2019

Когда вы установите textContentType для UITextField на .telephoneNumber, при использовании текстового поля появится предлагаемый номер телефона.

suggested phone number above keyboard

Когда вы нажимаете на предложение, текстовое поле текста становится предлагаемым номером телефона с "+1" в начале. Тем не менее, в моем текстовом поле есть выпадающий список для выбора пользователем кода страны, поэтому я не хочу, чтобы добавлялось «+1». Можно ли как-то определить, было ли выбрано предложение, и удалить «+1» из этого текста в текстовом поле?

1 Ответ

2 голосов
/ 09 мая 2019

Вы можете сделать что-то вроде этого ...


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))
    }
}
...