Vickate_实时获取输入框(textField)内容

(1)要检测文本框内容的变化,我们需要让新界面的Controller遵循一个文本协议 UITextFieldDelegate

同时在 viewDidLoad 方法内将文本框的代理设置为当前实例。

然后实现 textField 的 shouldChangeCharacters 方法就能在文本框将要变化的时候执行一些代码。

(2)但这个只是将要变化时执行,而不是变化后。比如在这个方法内打印出文本框的内容,会发现每当我们改变文本框的内容时,打印出来的是上一次的内容。

比如先输入1,打印出来是空。再输入2,文本框上是12,但打印出来却是1.

常规的方法:
(1)代理方法里面字符串替换
(2)观察者的方式

简易方法:
TextField添加事件,响应输入框的编辑事件(allEditingEvents)就可以获取最新的内容。

textfield.addTarget(self, action: #selector(textChange(_:)), for: .allEditingEvents)

@objc func textChange(_ textField: UITextField) {
        print(textfield.text ?? "")
    }

妈妈再也不用担心输入框头疼的问题了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容