2016-04-07 3 views
1

Я хочу, чтобы количество добавляемого элемента пользователем как:Плюс и Минус Количество в таблице

-__+ 

Если пользователь добавить элемент, который он добавить кнопку + и увеличить элемент. поэтому я добавил textfield в таблицу и добавлю две кнопки Плюс (+) и Минус (-). Вот мой код в cellForRowAtIndexPath:

if(isPlus){ 
     countFruitQty++; 
     cell.txtQty.text = [NSString stringWithFormat:@"%i",countFruitQty]; 
    } 
    else{ 
     countFruitQty--; 
     if(countFruitQty > 0) 
      cell.txtQty.text = [NSString stringWithFormat:@"%i",countFruitQty]; 
     else{ 
      cell.txtQty.text = @""; 
      countFruitQty = 0; 
     } 

Но на свитке это изменить данные для всех добавленных TextField. Как предотвратить это?

+0

Эй, не могли бы вы объяснить запрос , Я не могу понять, что вы имели в виду? –

+0

Так происходит ли это в каждой строке на вашем столе, и есть несколько текстур и кнопок и т. Д.? –

+0

счетFruitQty повтор и установка такой же номер для всех текстField когда я прокрутка таблицаField. –

ответ

0

это происходит потому, что при прокрутке вашего TableView ячейка повторно и сбросить все текстовое поле

, если вы хотите достичь этой функции вы должны использовать Scrollview и addSuview, когда вам нужны

3

Вы должны управлять массивом для это,

Проверить ниже код для справки, Надеюсь, что это поможет вам

@interface YourViewController() 
{ 
    NSMutableArray *arrMain;  // Your main array (Table row count) 
    NSMutableArray *arrCounter; // Counter array 
    int a; 
} 

- (void)viewDidLoad { 

     arrMain = [[NSMutableArray alloc] init]; 
     arrCounter = [[NSMutableArray alloc] init]; 
     a = 0; 
     for (int i = 0, i < [arrMain count], i++) { 

      [arrCounter addObject:[NSString stringWithFormat:@"%d",a]]; 
     } 
} 


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

     cell.btnPlus.tag = indexPath.row; 
     [cell.btnPlus addTarget:self action:@selector(click_Plus:) forControlEvents:UIControlEventTouchUpInside]; 

     cell.btnMinus.tag = indexPath.row; 
     [cell.btnMinus addTarget:self action:@selector(click_Minus:) forControlEvents:UIControlEventTouchUpInside]; 

     cell.txtQty.text = [arrCounter objectAtIndex:indexPath.row]; 
} 


-(IBAction)click_Plus:(UIButton *)sender { 

    int qnt = [cell.txtQty.text intValue]; 
    cell. txtQty.text = [NSString stringWithFormat:@"%d",++qnt]; 
    [arrCounter replaceObjectAtIndex:sender.tag withObject:cell.txtQty.text]; 
} 

-(IBAction)click_Minus:(UIButton *)sender { 

    int qnt = [cell.txtQty.text intValue]; 
    cell.txtQty.text = [NSString stringWithFormat:@"%d",--qnt]; 
    [arrCounter replaceObjectAtIndex:sender.tag withObject:cell.txtQty.text]; 
} 
Смежные вопросы