我有一个UIView,应该像问卷表格一样。在这个视图中,我以编程方式创建动态数量的UILabel作为问题,UITextFields是用户提出答案的地方。这个UIView还有一个按钮,您可以按此按钮移动到下一个表格。
我的问题是,假设我有10个问题;有一种方法,当用户完成(单击按钮)时,我可以从每个UITextField中获取UILabel值(表示该答案的问题)吗?表示10个UIL用户在某个视图中有10个UITextFields p>
一个简单的解决方案是将每个UITextField指针存储为字典中的键,其中UILabel值是其值,但我不想再使用任何内存或数据结构。
我也知道在使用StoryBoard时,您可以通过插座将标签连接到文本字段。
我试着看看UITextField是否有一个隐藏变量,我可以在其中存储UILabel值,但是没有找到类似的东西。
是否有针对此的编程,简单,无额外内存解决方案?
答案 0 :(得分:1)
是的,您可以为每个UITextField和UILabel提供标记,一旦完成,您就知道标记,因此从标记中可以查看视图并执行您想要执行的任何操作。
答案 1 :(得分:1)
您可以设置每个tag
,以便标签具有唯一标记,关联的文本字段为+1。
或者您可以在循环时将其基于帧原点位置。
或者“隐藏”变量路线可以使用objc_setAssociatedObject
答案 2 :(得分:0)
也许使用标签。遍历所有UILabel和UITextfields ......当标签相同时,抓取UILabel文本属性值并使用它进行适当的工作。