关闭生成的UITextfields

时间:2013-04-19 09:48:18

标签: iphone objective-c ios5 ios6

我正在滚动视图中动态生成UITextfield,因为用户在UITextfield中输入数字(假设为“A”)并点击按钮。但我需要做的是当用户在UITextfield中重新输入数字时,先前显示的UITextfield必须消失,并且必须生成新的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被覆盖在7但之前也显示了。

3 个答案:

答案 0 :(得分:0)

但是如果你可以替换它中的文本,如果你想要动画,你就会生成新的文本字段,那么你可以隐藏和取消隐藏相同的文本字段。

答案 1 :(得分:0)

在reloadTxtinput方法中设置以下代码。当用户点击按钮时调用此方法。

-(void)reloadTxtinput {

   for(UIView *subview in [scrollview subviews]) {
      if([subview isKindOfClass:[UIButton class]]) {
        [subview removeFromSuperview];
      } else {
             //Do nothing
      }
  }

}

答案 2 :(得分:0)

我试过这段代码,这对我有用

for (y=1;y<=Pointsvalue;y++)
{
    UITextField *txtField =(UITextField *)[self.view viewWithTag:y+Pointsvalue];
    if (txtField.tag == y+Pointsvalue)
    {
        [txtField removeFromSuperview];
        [Feilds2Array removeAllObjects];
    }
}