在项目中使用文本输入框出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文字改变相关推荐

  1. 监听程序异常ios_最新的移动应用程序侵犯隐私行为ios剪贴板监听

    监听程序异常ios The data we copy and paste on our phones using the clipboard features can reveal sensitive ...

  2. 【Java】监听jframe窗口大小改变函数:addComponentListener

    问题描述:主要用于解决Jframe窗口大小变化时,里面的组件的位置也会自适应的移动. 相当于js里面的窗口大小改变监听函数: window.onresize = function(){//js脚本接口 ...

  3. iOS键盘监听以及获取键盘高度

    在文本输入时,界面会弹出键盘.有时,当文本输入框过低,被键盘遮挡,使用户无法看见输入框文本内容,这就使得用户体验过低. 所以需要我们对键盘进行监控并获取键盘高度,调节界面或文本框高度进行处理.如下图, ...

  4. iOS KVO监听readonly属性

    本文不是技术向的文章,仅记录小弟我在开发中遇到的各种坑... 1.属性 先声明一个只读属性name @property (nonatomic, strong, readonly) NSString * ...

  5. java 监听窗口是否改变_JAVA项目监听文件是否发生变化

    一.spring容器都初始化完成之后做操作 packagecom.bijian.study.listener;importorg.springframework.beans.factory.annot ...

  6. Monaco Editor教程(四):设置或获取内容,并监听内容的改变

    背景 上一篇我们详细介绍了使用monaco-editor来实现一个hello-world的示例,并详细介绍了其中涉及的资源加载,相关参数.本篇文章让我们一起学习如何设置编辑器的内容,获取编辑器的内容, ...

  7. java监听文件改名字_java监听文件目录的改变

    目前为止,java没有提供自带的对文件目录改变的监听器.使用java自带的(如果是native的就更好了)会方便很多. A new filesystem interface that supports ...

  8. jq监听input值改变时的事件

    业务中常有监视input值变化的需要,今天我在解决这个问题后,在这里对解决方案做个汇总: 通常采用的方法如: $(input).keyup(function(){ //do sth }); 当有输入时 ...

  9. iOS AFN监听网络状态

    在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)lau ...

最新文章

  1. 一起学WPF系列(2):第一个WPF应用程序
  2. 得到弹出菜单QMenu的高度
  3. 滴定数据处理结果分析
  4. 测试CH340C的功能,制作MicroPython ESP8266,ESP32下载器
  5. HTTP协议之post multipart/form-data数据类型实例
  6. Spring-AOP @AspectJ进阶之绑定抛出的异常
  7. nginx生成ssl证书
  8. java架构师之路:JAVA程序员必看的15本书的电子版下载地址
  9. vs矩形框边框线显示被选中的区域;_条形码区域解码:Web小工具
  10. 文件和目录操作命令(19 个)--14.dirname
  11. 兼容IE和火狐JS父窗口调用iframe里面的对象、函数的方法
  12. 钉钉机器人智能提醒_在钉钉上怎么设置日程提醒自动提醒大家?
  13. 移动端h5页面监听手机横屏
  14. csv文件修改编码格式
  15. 技校自我鉴定范文计算机600,技校毕业个人自我鉴定范文
  16. 影子卫士和影子系统哪个好用_大小仅3M的影子系统,绿软爱好者必装软件
  17. php测试页面打开速度,在JS中如何测试目标网站的打开响应速度
  18. 流程控制之顺数结构和选择结构
  19. 关于Vue和Yii的作者国籍
  20. Java接入微信支付超级详细教程——从入门到精通

热门文章

  1. 趣图:雷军的代码像诗一样优雅
  2. 中国国产高性能民用计算机,2018年中国高性能计算机TOP100排行榜出炉 入围厂商均为国产厂商...
  3. 光伏逆变器国抽合格率不足八成引关注
  4. 临床预测模型评鉴(PMID: 32350208)
  5. CSR mascon产品深度解析
  6. 使用ldapsearch进行数据查询
  7. 又有专家来瞎扯了:年轻人工资低可能是能力不够
  8. Binder机制详解(一)
  9. 欢度世界杯——替补席
  10. 《算法导论》第四章-第4节_练习(参考答案)