iOS-Swift3 监听UITextView文字改变

在项目中使用文本输入框出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 进行相应操作

        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值