续上一篇NSNotificationCenter通知基本用法(一)
系统自带的通知,例如:UITextField
- (void)viewDidLoad {
[super viewDidLoad];
//UIApplicationWillResignActiveNotification将要失去活动状态的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveWillResignActiveNotification:) name:UIApplicationWillResignActiveNotification object:nil];
//UIKeyboardWillChangeFrameNotification键盘的frame将要发生变化时的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveKeyboardFrameChangeNotification:) name:UIKeyboardWillChangeFrameNotification object:nil];
//设置清除按钮的现实方法,默认是不显示。
_textField.clearButtonMode = UITextFieldViewModeWhileEditing;
//UITextFieldTextDidChangeNotification textField内容发生编辑时的通知。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTextFieldChangeNotification:) name:UITextFieldTextDidChangeNotification object:nil];
}
- (void)receiveWillResignActiveNotification:(NSNotification *)noti
{
_textField.text = @"";
}
- (void)receiveKeyboardFrameChangeNotification:(NSNotification *)noti
{
NSLog(@"键盘noti.object %@",noti.object);
//noti.userInfo传过来的参数输出了键盘的frame变化坐标
NSLog(@"键盘noti.userInfo %@",noti.userInfo);
}
- (void)receiveTextFieldChangeNotification:(NSNotification *)noti
{
NSLog(@"文本框[noti.object text] %@",[noti.object text]);
}