首先,我们在需要接收通知的地方注册观察者,比如:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged) name:UITextFieldTextDidChangeNotification object:nil];
上面这段就是在需要的地方注册了一个,name为UITextFieldTextDidChangeNotification,该通知的作用是在textfield输入改变时,调用textChanged方法.
-(void)textChanged
{
// 输入框都有值时显示登陆按钮
if ((_accountField.text.length > 0) && (_pwdField.text.length > 0) && (_proField.text.length > 0)) {
_loginBtn.alpha = 1.0f;
_loginBtn.userInteractionEnabled = YES;
}else {
_loginBtn.alpha = 0.3f;
_loginBtn.userInteractionEnabled = NO;
}
// 账户,项目编号为空时,清除缓存的信息
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
if (_accountField.text.length == 0) {
[user setObject:nil forKey:@"USERACCOUNT"];
}
if (_proField.text.length == 0) {
[user setObject:nil forKey:@"PROJECTID"];
}
}
-(void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}