关闭生成的 UITextfields
Posted
技术标签:
【中文标题】关闭生成的 UITextfields【英文标题】:Dismiss generated UITextfields 【发布时间】:2013-04-19 09:48:17 【问题描述】:我在滚动视图上动态生成UITextfield
s,因为用户在UITextfield
中输入数字(可以说它是“A”)并点击一个按钮。但是我需要做的是,当用户在UITextfield
s 中重新输入号码时,之前显示的UITextfield
s 必须消失,并且必须生成新的UITextfield
s`。
for (UIView *field in self.scrollView.subviews)
if([field isKindOfClass:[UITextField class]])
[field removeFromSuperview];
例如,如果我首先生成 7 UITextfield
s,然后我再次编辑“A”并将 3 作为值,则只有 3 UITextfield
s 必须可见。
但在我的代码中,3 UITextfield
s 被 7 覆盖,但之前也显示。
【问题讨论】:
当您在文本字段中重新输入数据时,您想删除旧数据吗? 是的,之前生成的 textfeilds 也是.. 如何添加文本字段?如果可能,请发布代码 准确告诉我们您需要做什么。恕我直言,您做错事了。 @jennis tis 是我生成 textfeilds 的方式 - (void)dynamicTextfeildsPhone string = Points.text;点值 = [字符串 intValue]; txtFldFrame1 = [[UITextField alloc] initWithFrame:CGRectMake(45,130,60,30)]; for (x=1; x 【参考方案1】:但是,如果您可以替换其中的文本,并且如果您想要动画,那么您是否重新生成了新的文本字段,那么您可以隐藏和取消隐藏相同的文本字段..
【讨论】:
也这样做了,但在取消隐藏第一个文本字段后也显示了 所以在取消隐藏之前更改要在新文本字段中显示的文本字段的文本 您可以使用标签来隐藏/取消隐藏特定的文本字段【参考方案2】:在您的 reloadTxt 输入法中设置以下代码。当用户点击按钮时调用此方法。
-(void)reloadTxtinput
for(UIView *subview in [scrollview subviews])
if([subview isKindOfClass:[UIButton class]])
[subview removeFromSuperview];
else
//Do nothing
【讨论】:
【参考方案3】:我已经尝试过这段代码,这对我有用
for (y=1;y<=Pointsvalue;y++)
UITextField *txtField =(UITextField *)[self.view viewWithTag:y+Pointsvalue];
if (txtField.tag == y+Pointsvalue)
[txtField removeFromSuperview];
[Feilds2Array removeAllObjects];
【讨论】:
以上是关于关闭生成的 UITextfields的主要内容,如果未能解决你的问题,请参考以下文章