使用UIStepper的UITableView可以更改2个不同的单元格

时间:2014-09-03 12:02:39

标签: ios objective-c uitableview uistepper

我在使用自定义单元格的UITableView中控制UIStepper时遇到问题。 当我用步进器(row = 0)更改一个UITextField.text时它工作正常,问题是行中的文本字段= 9也改变。 row = 1和row = 10等同样发生。 我真的不明白为什么。

tableviewcontroller中步进器的IBAction代码:

- (IBAction)sumaRestaNormal:(id)sender {
// Get the cell in which the button was pressed
celdaTabacoNormal *cell = (celdaTabacoNormal *)[[[sender superview] superview]superview];
// Get the value of the stepper (it has an outlet in my custom cell
int value = cell.stepperNormal.value;
// Update the text field of the cell with the new value (also has an outlet in the custom cell)
cell.txtNormal.text = [NSString stringWithFormat:@"%d",value];}

UITextFields是customcell.h中的属性:

@property (weak, nonatomic) IBOutlet UITextField *txtNormal;

在cellForRowAtIndexPath中我有下一个:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    celdaTabacoNormal *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    if(!cell){
        cell = [[celdaTabacoNormal alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    cell.referenciaTabacoN.text = [arrayRefTabaco objectAtIndex:indexPath.row];
    NSString * marcaNombre = [NSString stringWithFormat:@"%@ - %@", [arrayMarcaTabaco objectAtIndex:indexPath.row], [arrayNomTabaco objectAtIndex:indexPath.row]];
    cell.nombreProductoN.text = marcaNombre;

    return cell;
}

为什么第0行和第9行等的UITextFields同时发生变化......!

这里我展示了细胞是如何形成的:

http://www.imagesup.net/?di=5140982874911

问题来自细胞的重复使用。 如何使用步进器和文本字段来控制这种类型的单元?

0 个答案:

没有答案