免费开源的iOS开发学习平台

UITextView详解:2-UITextView的代理方法

UITextView代理协议UITextViewDelegate中定义了用于监控用户行为的诸多方法,主要包括用户开始编辑、用户结束编辑以及UITextView中的内容发生变化等,其基本用法与UITextField的代理协议是非常类似的。通过UITextViewDelegate中的方法,我们可以限制用户输入的文字字数,当超出规定字数后就不允许继续输入了。

UITextView的代理方法简介

UITextViewDelegate代理协议中如下几个常用的代理是比较常用的,需要优先掌握。

  • UITextView对象开始编辑时调用
- (void)textViewDidBeginEditing:(UITextView *)textView;
  • UITextView对象结束编辑时调用
- (void)textViewDidEndEditing:(UITextView *)textView;
  • UITextView的内容和属性变化时调用
- (void)textViewDidChange:(UITextView *)textView;
  • 是否允许开始编辑。当返回值为NO时,UITextView中的内容不能修改
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
  • 是否允许结束编辑。当返回值为NO时,UITextView不能结束编辑状态
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;

通过下方的运行日志可以了解到上述几个方法的调用顺序与时机。

示例代码

https://github.com/99ios/10.2.2