如何更改返回键的事件?

时间:2013-08-14 09:45:36

标签: ios cocoa-touch uitextfield

我有4个文本字段,我希望通过单击返回键 -

来执行以下操作

1-当我在一个字段中输入条目并按返回键时,应该跳到下一个

的光标

TextField。

谢谢。

3 个答案:

答案 0 :(得分:0)

实施UITextField委托并将标记值设置为您的所有textField。喜欢1,2,3 ......等等。然后,确保scrollView和textField标记值不应该冲突。

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    int nextTextFieldTag = textField.tag+1;
    UITextField *textFieldd = (UITextField*)[self.view viewWithTag:nextTextFieldTag];
    if (textFieldd!=nil) {
        if ([textField isKindOfClass:[UITextField class]]) {
            [textFieldd becomeFirstResponder];
            return NO;
        }
    }
    return YES;
}

答案 1 :(得分:0)

试试这个

将4个文本字段作为textfield1,textfield2,textfile3,textfield4。

在textfield委托方法

 - (BOOL)textFieldShouldReturn:(UITextField *)textField 
{

    if([textField isEqual:textfield1]) 
    {
     [textfield2 becomeFirstResponder];
      return NO;
    }

    else if([textField isEqual:textfield2]) 
    {
     [textfield3 becomeFirstResponder];
      return NO;
    }

        // Do for other textfields
    return YES;
}

答案 2 :(得分:-2)

您只需知道下一个TextField应该是什么,并且UITextFieldDelegateProtocol尤其是- (BOOL)textFieldShouldReturn:(UITextField *)textField已实施。

- (BOOL)textFieldShouldReturn:(UITextField *)textField中,只需找出下一个TextField并执行[nextTextField becomeFirstResponder];


所以- (BOOL)textFieldShouldReturn:(UITextField *)textField方法看起来像这样:

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{

    if ([textField isEqual:firstTextField]) {
        [secondTextField becomeFirstResponder];
    } 

    //When last textfield dismiss the keyboard
    else if ([textField lastTextField]) {
        [textField resignFirstResponder];
    }

    return NO;
}