I have tried the bellow code-
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (self.textfield.text.length!=0)
{
self.image.image=[UIImage imageNamed:@"Free-Boiler-Circle.png"];
}
else
{
self.image.image=[UIImage imageNamed:@"GREY_CIRCLE.png"];
}
}
但是当我尝试这个时它改变了图像,当我进入下一个字段后输入值它前面的字段它改变图像....但我想做的是当我在文本字段中输入任何单个文本它会立即改变图像。 请帮我。 thnx in advnce。
答案 0 :(得分:0)
您有两种选择。
执行- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
并执行您的逻辑,或者通过在UITextFieldTextDidChangeNotification
注册来开始收听viewDidLoad
通知,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChange:) name:UITextFieldTextDidChangeNotification object:self.textfield];
每次文本字段更改时都会调用此方法:
- (void)textDidChange:(NSNotification*)notification
{
if (self.textfield.text.length!=0)
{
self.image.image=[UIImage imageNamed:@"Free-Boiler-Circle.png"];
}
else
{
self.image.image=[UIImage imageNamed:@"GREY_CIRCLE.png"];
}
}
不要忘记在视图控制器的removeObserver:
中调用dealloc
。