以编程方式从 UITextField 接收 UILabel 值

Posted

技术标签:

【中文标题】以编程方式从 UITextField 接收 UILabel 值【英文标题】:Receiving a UILabel value from a UITextField programatically 【发布时间】:2013-07-11 14:23:54 【问题描述】:

我有一个 UIView,它的作用应该类似于调查表。在这个视图中,我正在以编程方式创建一个动态数量的 UILabel,它们充当问题,而 UITextFields 是用户提出答案的地方。此 UIView 也有一个按钮,您可以按下该按钮进入下一个表单。

我的问题是,假设我有 10 个问题;意思是在某个视图中具有 10 个 UITextField 的 10 个 UILabel,有没有一种方法可以在用户完成(单击按钮)时,从我迭代的每个 UITextField 中获得 UILabel 值(表示该答案的问题)?

一个简单的解决方案是将每个 UITextField 指针作为键存储在字典中,其中 UILabel 值是它的值,但我不想使用更多的内存或数据结构。

我还知道,在使用 StoryBoard 时,您可以通过插座将标签连接到文本字段。

我试图查看 UITextField 是否有一个隐藏变量,我可以在其中存储 UILabel 值,但没有找到类似的东西。

是否有一种编程的、简单的、无需额外内存的解决方案?

【问题讨论】:

【参考方案1】:

您可以设置每个标签的tag,以便标签具有唯一标签,并且关联的文本字段为+1。

或者您可以在循环时基于帧原点位置。

或者“隐藏”变量路由是使用objc_setAssociatedObject

【讨论】:

标签解决方案完美运行。您还提供了隐藏变量路由,因此选择此作为正确答案。【参考方案2】:

是的,您可以为每个 UITextField 和 UILabel 提供标签,完成后您知道标签,因此您可以从标签中签出视图并做任何您想做的事情。

【讨论】:

谢谢!标签解决方案是要走的路。【参考方案3】:

也许使用标签。遍历所有 UILabel 和 UITextfields...当标签相同时,获取 UILabel 文本属性值并对其进行适当的处​​理。

【讨论】:

以上是关于以编程方式从 UITextField 接收 UILabel 值的主要内容,如果未能解决你的问题,请参考以下文章

将值从选择器视图设置为文本字段,而无需以编程方式全局快速声明 uitextfield

将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?

在UITextfield中输入文本后以编程方式更改焦点

如何以编程方式选择 UITextField 进行编辑

以编程方式创建 UITextField 事件

如何以编程方式在视图控制器之间传递数据?我想将我的UITextfield数据传递给另一个视图控制器[重复]