以编程方式从 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