【问题标题】:How to move from one textFields to next textField on tabBar button's Action如何在 tabBar 按钮的操作上从一个文本字段移动到下一个文本字段
【发布时间】:2011-01-30 06:16:49
【问题描述】:

在我的 iphone 应用程序中,我有 6 个文本字段和一个 tabBar(有 3 个按钮 Next、Previous、Done)。

我需要做的就是当我点击下一个按钮时,焦点应该从第一个 textField 移动到下一个 textField。

在 Next 按钮的 IBAction 上,我编写了以下代码:

if ([txt1 isFirstResponder]==YES) {

    NSLog(@"TXT1");

    [txt1 resignFirstResponder];

    [txt2 becomeFirstResponder];

}
else if ([txt2 isFirstResponder]==YES) {

    [txt2 resignFirstResponder];

    [txt3 becomeFirstResponder];

}
else  if ([txt3 isFirstResponder]==YES) {

    [txt3 resignFirstResponder];

    [txt4 becomeFirstResponder];

}
else  if ([txt4 isFirstResponder]==YES) {

    [txt4 resignFirstResponder];

    [txt5 becomeFirstResponder];

}
else  if ([txt5 isFirstResponder]==YES) {

    [txt5 resignFirstResponder];

    [txt6 becomeFirstResponder];

}
else  if ([txt6 isFirstResponder]==YES) {

    [txt6 resignFirstResponder];

}

当我使用此代码时,NSLog 会打印无限次。

可以做什么??

【问题讨论】:

    标签: iphone objective-c cocoa-touch ios4 uitextfield


    【解决方案1】:

    可能是因为如果txt1 isFirstResponder,您将 txt2 设置为 firstResponder,然后检查 txt2 是否是第一响应者。您应该在每个 if 语句的末尾添加一个 break;

    【讨论】:

      【解决方案2】:

      糟糕,这是我的错误。我忘记将 textField 的代表连接到文件所有者.. 谢谢各位。

      【讨论】:

      • 尽量不要为您的错误创建答案,尝试编辑您的问题。
      【解决方案3】:

      实际上,在每个 if 语句中,您不需要 resignFirstResponder,因为您不想在每次移动到另一个字段时关闭键盘。

      相反,在txt6 中留下唯一的resignFirstResponder

      【讨论】:

        猜你喜欢
        • 2017-08-07
        • 1970-01-01
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多