-6

我有 4 个文本字段,我想通过单击返回键来执行以下操作 -

1-当我在一个字段中输入并按回车键时,光标应该跳到下一个

文本域 。

谢谢 。

4

3 回答 3

0

为您的所有 textField 串联实施UITextField委托并设置标签值。像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;
}
于 2013-08-14T09:50:16.637 回答
0

尝试这个

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

在文本字段委托方法中

 - (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;
}
于 2013-08-14T09:53:31.563 回答
-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;
}
于 2013-08-14T09:50:37.220 回答