iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)

在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量 下面介绍在swif

在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式

方式一: 全局通知

1.注册通知

在合适位置注册监听UITextView文本变化的全局通知

//UITextView 监听开始输入的两种方法
//方法一:通知
NotificationCenter.default.addObserver(self, selector: #selector(ComposeVC.textViewChange), name: NSNotification.Name.UITextViewTextDidChange, object: nil)

2.实现监听方法 此处方法名为 textViewChange

@objc fileprivate func textViewChange() {
XWLog("textView文字改变 :\(composeTextView.text)")
}

3.在控制器销魂不忘销魂通知

//移除通知
deinit {
NotificationCenter.default.removeObserver(self)
}

方式二: 代理

1.设置代理

//1.设置代理
composeTextView.delegate = self

2.遵守代理协议,实现代理方法

//MARK: - TEXTVIEW DELEGATE
extension ComposeVC : UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
if textView.text.lengthOfBytes(using: .utf8) > 0 {
//文本框内有文字个数大于0 进行相应操作
}else{
//文本框内有文字个数等于0 进行相应操作
}
}
}

以上所述是小编给大家介绍的iOS开发中Swift3 监听UITextView文字改变的方法(三种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对好代码网网站的支持!

您可能有感兴趣的文章
Swift面试题及答案整理

IOS Swift基础之switch用法详解

iOS瀑布流的简单如何实现(Swift)

iOS底层实例解析Swift闭包及OC闭包

iOS Swift读取本地javascripton文件报错的如何解决方法