使用键盘输入时,UitextField将控制转移到下一个textField

时间:2011-06-20 10:21:08

标签: ios iphone uitextfield uitextfielddelegate

我是iPhone编程的新手。我在iPhone中有两个带有数字键盘类型的文本字段,我正在尝试实现一个简单的逻辑,即在使用numberPadKeyBoard键入单个数字时,控件应转移到下一个textField,即第二个文本字段应变为FirstResponder。我不知道如何实现这一点。请大家帮忙。

3 个答案:

答案 0 :(得分:2)

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

if(textField == urFirstTextField) { 
[urFirstTextField resignFirstResponder];
[urSecondtextField becomeFirstResponder];

}

}

<强>更新

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
   if(textField != urFirstTextField)
    {
        [textField resignFirstResponder];
        [urFirstTextField becomeFirstResponder];
        return NO;
    }
       return YES;
}

答案 1 :(得分:1)

假设你有2个文本字段textField1和textField2然后将UITextFieldDelegate的delgate方法实现为

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
      if(textField == textField1)
           {
              [textField1 resignFirstResponder];
              [textField2 becomeFirstResponder];
           }
      return YES;
}

答案 2 :(得分:0)

通过UITextField的委托方法命名为“textField:shouldChangeText:inRange:”.....检查textField的长度,并在返回YES之前将第二个textField作为第一响应者;

或者您可以使用许多其他委派方法定义