将UITextField的textContentType
设置为.telephoneNumber
时,使用文本字段时将显示建议的电话号码。
点击建议时,文本字段的文本将成为建议的电话号码,并以“ +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))
}
}