我是iPhone新手。当我滚动表格视图时,我的cutomcell label值消失了。

当我单击该单元格时,它再次出现。

谁能帮我?

提前致谢。

//table view in view controller created in xib


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

{

static NSString *CellIdentifier = @"ListOfProductsCell";

ListOfProductsCell *cell = (ListOfProductsCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell==nil) {
        NSArray *nib =[[NSBundle mainBundle] loadNibNamed:@"ListOfProductsCell" owner:self options:nil];
    cell = [nib objectAtIndex:0];

    productItemDit=[productListArry objectAtIndex:indexPath.row];
    NSString *offerStr= [NSString stringWithFormat:@"%.2f",[[productItemDit objectForKey:@"offer"] floatValue]];
    NSString *fullCostStr=[[currencyCodeStr stringByAppendingString:@" "] stringByAppendingString:offerStr];
    NSLog(@"%@",fullCostStr);
    cell.itemCostLbl.text=fullCostStr;

} else {
    cell.itemStepper = (UIStepper *) [cell viewWithTag:2];
    cell.itemAddedLbl =(UILabel*)[cell viewWithTag:1];

}

if (tableView == self.searchDisplayProduct.searchResultsTableView) {
    searchProductItemDit=[searchProductListArry objectAtIndex:indexPath.row];
    NSLog(@"searchdit:%@",searchProductItemDit);
    cell.itemNameLbl.text= [searchProductItemDit objectForKey:@"name"];
    self.searchDisplayProduct.searchResultsTableView.separatorColor=[UIColor colorWithRed:200.0 green:0.0 blue:0.0 alpha:1.0];
} else {
    productItemDit=[productListArry objectAtIndex:indexPath.row];
    NSLog(@"dit:%@",productItemDit);
    cell.itemNameLbl.text=[productItemDit objectForKey:@"name"];
}

cell.itemAddedLbl.text = [[NSString alloc] initWithFormat:@"%d",itemCount];

cell.itemImg.image = [UIImage imageNamed:@"profp.jpg"];

return cell;

}

最佳答案

这样解决

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

{

          static NSString *CellIdentifier = @"ListOfProductsCell";

          ListOfProductsCell *cell = (ListOfProductsCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

         if (cell==nil) {
                   NSArray *nib =[[NSBundle mainBundle] loadNibNamed:@"ListOfProductsCell" owner:self options:nil];
                   cell = [nib objectAtIndex:0];

         } else {
                cell.itemStepper = (UIStepper *) [cell viewWithTag:2];
                cell.itemAddedLbl =(UILabel*)[cell viewWithTag:1];

         }

        if (tableView == self.searchDisplayProduct.searchResultsTableView) {
                  cell.itemNameLbl.text= [[searchProductListArry objectAtIndex:indexPath.row] objectForKey:@"name"];
        } else {
               cell.itemNameLbl.text=[[productListArry objectAtIndex:indexPath.row] objectForKey:@"name"];
        }

        cell.itemCostLbl.text=[NSString stringWithFormat:@"%@  %.2f", currencyCodeStr , [[[productListArry objectAtIndex:indexPath.row] objectForKey:@"offer"] floatValue]];

        cell.itemAddedLbl.text = [[NSString alloc] initWithFormat:@"%d",itemCount];

        cell.itemImg.image = [UIImage imageNamed:@"profp.jpg"];

        return cell;

 }

08-18 03:01