如何在iOS中编辑后在UITextField上调用方法

时间:2013-05-28 04:29:58

标签: ios uitextfield

我有一个UITextField,我正在调用下面的动画代码。它运行正常,但是当我按下返回键时,此代码运行。我想在用户在文本字段中输入任何数据而不按回车键时自动运行此代码。

    - (BOOL)textFieldShouldReturn:(UITextField *)textField
       {
         [patientNameTextField resignFirstResponder];
[addressTextField resignFirstResponder];
         [doctortTextField resignFirstResponder];
     [self showAnimationBack];
         return YES;
    }

4 个答案:

答案 0 :(得分:3)

输入任何数据意味着您可以使用此方法。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
//do something here
return YES;
}

或使用这些方法。

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;          // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end
- (void)textFieldDidEndEditing:(UITextField *)textField;             // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called

答案 1 :(得分:2)

使用UITextField的委托方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

在textfield中输入的每个字符后都会调用此方法。

return YES;

用于实现您在此方法中执行的更改。 其他

return NO;

答案 2 :(得分:1)

尝试这些委托方法:

- (void)textFieldDidBeginEditing:(UITextField *)textField
- (void)textFieldDidEndEditing:(UITextField *)textField;

答案 3 :(得分:0)

使用

- (void)textFieldDidEndEditing:(UITextField *)textField;
{

 [patientNameTextField resignFirstResponder];
 [addressTextField resignFirstResponder];
 [doctortTextField resignFirstResponder];
 [self showAnimationBack];

}