从 UITextField 保存文本数据而不按其他键(需要帮助)
Posted
技术标签:
【中文标题】从 UITextField 保存文本数据而不按其他键(需要帮助)【英文标题】:saving text data from UITextField without pressing additional key (help needed) 【发布时间】: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 的键。有什么办法吗? 【参考方案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 的键。有什么办法吗?以上是关于从 UITextField 保存文本数据而不按其他键(需要帮助)的主要内容,如果未能解决你的问题,请参考以下文章
如何保存uitextfield以使文本保持从视图控制器到视图控制器