iOS 监听UITextView内容的改变

长文本输入时比较喜欢用UITextView,因为它会自动换行,比UITextField好用些,但是当需要监听text view中的内容变化时。Apple缺没有提供像UITextField那样方便的代理方法。

其实要监测text view中内容的改变也不难,只需下面三步操作,即可实现与UITextField的代理方法相似的效果。

1、在- (void) viewDidLoad;使用通知中心,给UITextView添加观察者

1 NSNotificationCenter *nc  = [NSNotificationCenter defaultCenter];
2 [nc addObserver:self selector:@selector(textViewTextChangeAction) name:UITextViewTextDidChangeNotification object:nil];

 

2、实现 @selector()方法

按上面代码为例,实现- (void)textViewTextChangeAction;方法

- (void)textViewTextChangeAction{

    //text view 内容变化时要进行的操作

}

 

3、在- (void)dealloc;中释放观察者

由于我用的是ARC ,所以不需要调用 [super dealloc];

1 -(void)dealloc{
2     NSNotificationCenter * nc = [NSNotificationCenter defaultCenter];
3     [nc removeObserver:self];
4 }

 

你可能感兴趣的:(iOS 监听UITextView内容的改变)