在項目中使用文本輸入框出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 DELEGATEextension ComposeVC : UITextViewDelegate {func textViewDidChange(_ textView: UITextView) {if textView.text.lengthOfBytes(using: .utf8) > 0 {//文字框內有文字個數大於0 進行相應操作}else{//文字框內有文字個數等於0 進行相應操作}}}
以上所述是小編給大家介紹的iOS開發中Swift3 監聽UITextView文字改變的方法(三種方法),希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!