今天在写项目的时候需要实现一个功能:在输入框的文字发生改变时判断当前输入的文字是否符合要求,刚开始用了kvo对textField的keyPath“text”进行了监听,事实证明这样写是没用的,kvo只有在你要结束输入时才返回改变的值,及新值,很明显kvo没有办法实现我想要的效果,后来用了以下的方法实现了该效果,代码如下:
1、首先给TextField添加监听事件:
[_textfield addTarget:self action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];
2、实现监听的方法:
- (void) textFieldDidChange:(UITextField*) sender {
if ([sender.text doubleValue] > [self.walletInfo.realDepositNum doubleValue]) {
_alertLabel.text = moreThanRealPosit;
_alertLabel.textColor = [UIColor redColor];
}
else {
_alertLabel.text = lessThanRealPosit;
_alertLabel.textColor = HEXCOLOR(0x999999);
}
}
这里我是判断当输入的金额大于钱包总钱数,底部弹窗的label的状态将跟着发生改变;否则恢复原来的状态。