您的位置:首页 > 移动开发 > IOS开发

IOS NSNotificationCenter(通知 的使用)监听文本框的文字改变

2017-03-09 22:38 477 查看
监听文本框的文字改变

* 一个文本输入框的文字发生改变时,文本输入框会发出一个UITextFieldTextDidChangeNotification通知

* 因此通过监听通知来监听文本输入框的文字改变

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:textField];

// textField文本输入框的文字改变了,就会调用self的textChange方法

拿到通知

- (void)viewDidLoad
{
[super viewDidLoad];
// 监听文本输入框的改变
//    [self.accountField addTarget:self action:@selector(textChange) forControlEvents:nil]

//    self.accountField.delegate = self;

// 1.拿到通知中心
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
// 2.注册监听
// 注意点: 一定要写上通知的发布者
[center addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.accountField];
[center addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.pwdField];

//    UISwitch *switchBtn;
//    [switchBtn addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged]
}

- (void)textChange
{
/*
// 1.判断是否同时输入了账号和密码
if (self.accountField.text.length > 0  &&
self.pwdField.text.length > 0) {
// 2.让登录按钮可用
self.loginBtn.enabled = YES;
}else
{
self.loginBtn.enabled = NO;
}
*/
self.loginBtn.enabled = (self.accountField.text.length > 0  &&
self.pwdField.text.length > 0);
}


移除通知

- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: