ios textFieldDidEndEditing会触发,但textFieldShouldReturn不会触发

时间:2013-06-17 11:48:25

标签: ios objective-c uitextfield uitextfielddelegate

在我的应用中,我使用UITextField收集字符串值。每当我完成对该字段的编辑时,textFieldDidEndEditing都会被触发,但后来才会textFieldShouldReturn。可能是什么原因?

我提供了一些代码:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    if(textField == self.urlPatternTextField) {

      /*do some stuff*/
    }
}

- (IBAction)dismissKeyboard:(id)sender {

    NSMutableArray* possibleReponders = [[NSMutableArray alloc]initWithObjects:
                                         self.urlPatternTextField, nil];

    for (UITextView* tv in possibleReponders) {
        if([tv isFirstResponder]) {

            [tv resignFirstResponder];
            return;
        }
    }
}

注意:

在textFieldDidEndEditing中if条件为true。

感谢您的帮助。

此致

佐利

1 个答案:

答案 0 :(得分:1)

  

<强> textFieldShouldReturn:

     

询问代表是否应该是文本字段   处理按下返回按钮。

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
     

参数

     

textField按下了返回按钮的文本字段。

     

返回值   如果文本字段应实现其默认行为,则为YES   返回按钮;否则,没有。

     

讨论每当用户点击时,文本字段都会调用此方法   返回按钮。您可以使用此方法来实现任何自定义   点击按钮时的行为。

该方法在按下返回按钮时调用 。尝试这样

相关问题