2013-04-19 3 views
0

Я генерирую UITextfield s динамически на scrollview, когда пользователь вводит номер в UITextfield (скажем, он «A») и нажимает кнопку. Но то, что мне нужно сделать, - это когда номер повторного набора пользователей находится в UITextfield s, который ранее отображался UITextfield s, и должно быть создано новое UITextfield s`.Dismiss generated UITextfields

for (UIView *field in self.scrollView.subviews) 
{ 
    if([field isKindOfClass:[UITextField class]]) 
    [field removeFromSuperview]; 
} 

если первый EG-я генерироваться 7 UITextfield с, а затем я редактировать «А» снова и поставить 3 в качестве значения только 3 UITextfield s должна быть видна. , но в моем коде 3 UITextfield s перезаписаны на 7, но предыдущий также отображается.

+0

при повторном вводе данных в текстовом поле вы хотите удалить старые данные правильно? – Balu

+0

Да и ранее сгенерированные текстовые файлы тоже .. –

+0

Как вы добавляете текстовые поля? Пожалуйста, отправьте код, если возможно –

ответ

0

Я попробовал этот код, и это работало для меня

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

Но у же у regenrate нового текстового поля, если и может заменить текст в нем, и если и хотят, то и анимацию можно скрыть и отобразить же текстовое поле ..

+0

сделал это также, но после того, как открыли первые текстовые фреймы, также отобразилось –

+0

, поэтому перед тем, как вы можете изменить текст текстового поля, которое вы хотите отобразить в новом текстовом поле –

+0

, вы можете использовать теги, чтобы скрыть/отобразить определенное текстовое поле. –

0

Установите следующий код в методе reloadTxtinput. Вызовите этот метод, когда пользователь нажимает кнопку.

-(void)reloadTxtinput { 

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

}