长文本输入时比较喜欢用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 }
时间: 2024-10-10 09:39:19