思路:
使用UITextFieldDelegate:
UITextFieldTextDidBeginEditingNotification;开始编辑时
UITextFieldTextDidEndEditingNotification;结束编辑时
UITextFieldTextDidChangeNotification;值改变时
注册一个通知监听UITextField事件
-(void)viewWillAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closeAllDropDownTable) name:UITextFieldTextDidBeginEditingNotification object:nil];
}
业务方法:
-(void)closeAllDropDownTable{
if (_encrypt_dropDownMenuTable.isOpen) {
[_encrypt_dropDownMenuTable.view removeFromSuperview];
}
if (_channel_dropDownMenuTable.isOpen){
[_channel_dropDownMenuTable.view removeFromSuperview];
}
}
移除通知:
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
//移除通知中心
[[NSNotificationCenter defaultCenter] removeObserver:self name:UITextFieldTextDidBeginEditingNotification object:nil];
}
这样即可在textfield获得焦点的时候第一时间调用业务方法。
参考:
1.http://www.jianshu.com/p/0ab41087cf32
本文介绍如何使用UITextFieldDelegate来监听UITextField的开始编辑、结束编辑及值改变等事件,并提供了具体的实现代码,包括注册通知监听和移除通知的方法。

1352

被折叠的 条评论
为什么被折叠?



