在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式
方式一: 全局通知
1.注册通知
在合适位置注册监听UITextView文本变化的全局通知
1
2
3
|
//UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCenter. default .addObserver(self, selector: #selector(ComposeVC.textViewChange), name: NSNotification.Name.UITextViewTextDidChange, object: nil) |
2.实现监听方法 此处方法名为 textViewChange
1
2
3
|
@objc fileprivate func textViewChange() { XWLog( "textView文字改变 :\(composeTextView.text)" ) } |
3.在控制器销魂不忘销魂通知
1
2
3
4
|
//移除通知 deinit { NotificationCenter. default .removeObserver(self) } |
方式二: 代理
1.设置代理
1
2
|
//1.设置代理 composeTextView.delegate = self |
2.遵守代理协议,实现代理方法
1
2
3
4
5
6
7
8
9
10
|
//MARK: - TEXTVIEW DELEGATE extension ComposeVC : UITextViewDelegate { func textViewDidChange(_ textView: UITextView) { if textView.text.lengthOfBytes(using: .utf8) > 0 { //文本框内有文字个数大于0 进行相应操作 } else { //文本框内有文字个数等于0 进行相应操作 } } } |
以上所述是小编给大家介绍的iOS开发中Swift3 监听UITextView文字改变的方法(三种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/qxuewei/article/details/53127343