1.代理方法
/// delegate方法
///
/// - Parameters:
/// - textField: 变化前的text值
/// - range: 当前光标的位置
/// - string: 输入的字符
/// - Returns: 是否改变内容
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
print("delegate:\(textField.text!)")
return true
}
2.监听编辑事件
textField.addTarget(self, action: #selector(textDidChange(_:)), for: .editingChanged)
func textDidChange(_ textField:UITextField) {
print("event:\(textField.text)")
}
3.区别
输入:2
![](https://i-blog.csdnimg.cn/blog_migrate/285757b8f452325d518e4400a6b5cd41.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9324fd7bc4306085fd8bff5b0ba1e830.png)
输入:22
![](https://i-blog.csdnimg.cn/blog_migrate/ff6c46657aa924442c1b77d50d9ab6bd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/669d5d2675b90bc11028cd06a72e57d4.png)