问题描述
func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
if string == "" {
return true
}
if let characterCount = textField.text?.count {
if characterCount == 1 {
return textField.resignFirstResponder()
}
}
return true
}
但是只有在输入 2 个字符后,键盘才会使用此代码关闭。我想在输入一个字符后关闭键盘。
解决方法
试试这个!
override func viewDidLoad() {
super.viewDidLoad()
let textField = UITextField()
textField.addTarget(self,action: #selector(textField_editingChanged),for: .editingChanged)
view.addSubview(textField)
}
@objc func textField_editingChanged(sender:UITextField) {
if sender.text?.count == 1 {
view.endEditing(true)
}
}