【问题标题】:saving text data from UITextField without pressing additional key (help needed)从 UITextField 保存文本数据而不按其他键(需要帮助)
【发布时间】:2011-06-28 09:19:50
【问题描述】:

我是 iPhone 编程的新手。我正在使用 UITextField 和 UITextFieldDelegate。我有五个文本字段。我正在尝试使用 numberPad 键盘在其中输入数据。数据长度应为 1 位。之后点击另一个键应该将它带到下一个文本字段。我已经实现了这一切,但唯一的问题是当所有 5 个文本字段都填满时,我必须第 6 ​​次按键盘才能保存第五个文本字段的文本数据,有没有什么办法可以在不按任何键的情况下保存第 5 个文本字段的文本数据第 6 次在键盘上?

欢迎任何帮助或建议。

谢谢 维克

【问题讨论】:

  • 用户可以随机选择要先输入的文本字段吗?我猜这类似于我们一次输入 4 位数字或信用卡号码的网站。 :-)
  • @Praveen - 用户可以选择单击任何文本字段,但根据我的代码,控件将转到第一个文本字段,但之后用户可以随机选择任何文本字段。任何想法如何实现它?
  • @Praveen - 没错,我试过了,但问题是 UITextField 方法不会启动,直到我在 textfield5 中按下数字键盘上的另一个键(我不想要)。我想按下一个键,这将使 textField4 退出,结果将为我提供从 1 到 4 的所有 textField 中存储的数字,加上按下退出 textField 4 并输入 TextField 5 的键。有什么办法吗?

标签: iphone ios4 uitextfield uitextfielddelegate


【解决方案1】:

您可以对第 5 个 TextField 使用 textFieldDidChange 委托方法并像这样进行比较。

if (textField==textField5 && [textField 长度]>0){

[textField resignFirstResponder];

}

我希望这会有所帮助。

【讨论】:

  • 没错,我试过了,但问题是 UITextField 方法不会启动,直到我在 textfield5 中按下数字键盘上的另一个键(我不想要)。我想按下一个键,这将使 textField4 退出,结果将为我提供从 1 到 4 的所有 textField 中存储的数字,加上按下退出 textField 4 并输入 TextField 5 的键。有什么办法吗?
  • 我认为您可以完成此方法中的所有逻辑。您只需要检查您所在的文本字段。就是这样。这就是为什么我将它与 TextField5 进行比较的原因,所以如果有任何其他 textField,它将什么都不做。您也可以在此处检查其他 TextField 以及在 switch case 中。也许您可以分享一些代码以便获得确切的想法?
【解决方案2】:

我假设您正在使用 UITextFieldDelegate 方法移动到下一个文本字段。您可以计算输入了多少文本字段并继续检查:

if(count == num_of_textfields)
{
  [textField resignFirstResponder];

  //Call your method to process the input here.

}

【讨论】:

  • @Matteo - 没错,我试过了,但问题是 UITextField 方法不会启动,直到我在 textfield5 中按下数字键盘上的另一个键(我不想要)。我想按下一个键,这将使 textField4 退出,结果将为我提供从 1 到 4 的所有 textField 中存储的数字,加上按下退出 textField 4 并输入 TextField 5 的键。有什么办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多