Динамически добавить текстовое поле с тегом на кнопку Part-2 - PullRequest
0 голосов
/ 15 марта 2012

Я хочу добавить текстовое поле динамически с тегом, чтобы оно могло каждый раз давать уникальное значение.А затем добавить эти значения и показать на этикетке.Когда я нажимаю кнопку в одном текстовом поле, добавьте «n», дайте значение, и это значение добавится к предыдущему значению.

Добавление значения успешно.Но когда я что-то редактирую, изменяю или даю другое значение, такое как (10 вместо 12), цикл запускается снова из-за этой строки

[Txt_New_Estimated addTarget:self action:@selector(C6Loop) forControlEvents:UIControlEventEditingDidEnd];

2-я проблема заключается в том, что когда я добавляю новое текстовое поле, предыдущийтекстовое поле не изменялось и не добавлялось в остальные текстовые поля ... перед добавлением нового текстового поля оно работает правильно, но при редактировании что-либо цикл снова запустится .... Я хочу преодолеть эту проблему, поэтому, пожалуйста, проверьте этот код и дайте нескольковозможное решение.Я отправляю свой код сюда. Пожалуйста, проверьте этот код.

-(void)CreateTextFeildOnRun
{
if (tag ==0)
{
textPosY = 420;
}
for ( i =tag; i<= tag; i++) 
{
Txt_New_Estimated = [[UITextField alloc]initWithFrame:CGRectMake(360, textPosY , 130,         65)];
Txt_New_Estimated.delegate = self;
Txt_New_Estimated.text=@"";
//[Txt_New_Estimated setTag:1234];
Txt_New_Estimated.tag = i; 
Txt_New_Estimated.clearButtonMode = UITextFieldViewModeWhileEditing;
[Txt_New_Estimated addTarget:self action:@selector(C6Loop)    forControlEvents:UIControlEventEditingDidEnd];
Txt_New_Estimated.placeholder = @"Estimated";
Txt_New_Estimated.font = [UIFont fontWithName:@"Arial" size:23];
Txt_New_Estimated.backgroundColor = [UIColor whiteColor];
Txt_New_Estimated.textAlignment = UITextAlignmentCenter;
[scrollview addSubview:Txt_New_Estimated];

}
}

-(void)C6Loop{
Txt_New_ONU.text=Txt_New_Estimated.text;
[self Calculate2];

}

-(void)Calculate2{
int y14=([Txt_New_Estimated.text intValue]);
y14=n;
n=d;

c14=  y14+([Txt_New_Estimated.text floatValue]);

n  = c14;
[self addest];
}


-(void)addest{

float c1= ([Txt_Engring_Est.text floatValue]) + ([Txt_Weddring_Est.text floatValue]) +      ([Txt_Bridal_Est.text floatValue])+ ([Txt_Veil_Est.text floatValue])+ ([Txt_Shoe_Est.text   floatValue])+n;
Txt_Total_Est.text = [[NSString alloc] initWithFormat:@"%.2f",c1];
}  

Спасибо.

1 Ответ

0 голосов
/ 15 марта 2012

Почему бы вам не добавить эти TextField при создании в NSMutableArray. как то так:

-(void)createTextFieldOnRun
{
    if (tag ==0)
    {
        textPosY = 420;
    }
    for ( i =tag; i<= tag; i++) 
    {
       UITextField *Txt_New_Estimated = [[UITextField alloc]initWithFrame:CGRectMake(360,textPosY ,130,65)];
       Txt_New_Estimated.delegate = self;
       //....other code..
       [scrollview addSubview:Txt_New_Estimated];
       [textFieldArray addObject:Txt_New_Estimated];
    }
}

и при расчете сделать что-то вроде этого:

int result = 0;
for(UITextField *field in textFieldArray) // will iterate all UITextField which was added
{
    result += [field.text intValue]; //or floatValue
}
NSLog(@"the result is %d", result); //here you have sum of all the text fields' text

Неважно, измените ли вы значение или нет, он пересчитает все значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...