UitextField 在使用键盘输入时将控制转移到下一个文本字段

发布于 2024-11-16 09:09:18 字数 204 浏览 4 评论 0原文

我是 iPhone 编程新手。我在 iPhone 中有两个带有 numberPad 键盘类型的文本字段,我正在尝试实现一个简单的逻辑,即使用 numberPadKeyBoard 输入单个数字时,控件应转移到下一个文本字段,即第二个文本字段应变为 第一响应者。我不知道如何实现这个。请大家提供任何帮助,我们将不胜感激。

I am new to iPhone programming. I have two textfields in iPhone with numberPad Keyboard type and i am trying to implement a simple logic that on typing a single digit using numberPadKeyBoard, the control should shift to next textField i.e. second textfield should become FirstResponder. I don't know how to implement this. Please guys any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

攀登最高峰 2024-11-23 09:09:18
- (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;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

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

}

}

UPDATE

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
   if(textField != urFirstTextField)
    {
        [textField resignFirstResponder];
        [urFirstTextField becomeFirstResponder];
        return NO;
    }
       return YES;
}
醉态萌生 2024-11-23 09:09:18

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

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

Suppose you have 2 text field textField1 and textField2 then implement the delgate methods of the UITextFieldDelegate as

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
      if(textField == textField1)
           {
              [textField1 resignFirstResponder];
              [textField2 becomeFirstResponder];
           }
      return YES;
}
唐婉 2024-11-23 09:09:18

执行名为“textField:shouldChangeText:inRange:”的 UITextField 的委托方法.....检查文本字段的长度,并在返回 YES 之前将第二个文本字段设置为第一响应者;

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

go through the delegate method of UITextField named "textField:shouldChangeText:inRange:" ..... check the length of your textField and make second textField as first responder before returning YES;

Or you can play with a lot of other delegate methods defined

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文