如何将图像加载到UITableView中的选定行?

时间:2011-11-19 15:13:50

标签: iphone image uitableview

我正在尝试将图片加载到tableview行中。情况是,我有两个阵列说

nameID = [NSString stringWithFormat:@"01",@"02",@"05",@"06",@"07",@"08",@"09",nil];

testID = [NSString stringWithFormat:@"02",@"05",@"07",@"09",nil];

我将nameID值加载到tableview。现在,如果indexPath.row中包含testID值,我需要将图片加载到该行。我试图加载,第一次它正在工作但是当我滚动时,图像在我滚动时加载到所有行。那么,我该如何以正确的方式实现呢? 这是我的代码:

NSString *temp1 = [friendsID objectAtIndex:indexPath.row];
if ([alertArray containsObject:temp1]) {
    tickImg.image = [UIImage imageNamed:@"tick.png"];
    [cell.contentView addSubview:tickImg];
}

请分享您的想法。 感谢。

1 个答案:

答案 0 :(得分:1)

希望这段代码能为您提供帮助。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellIdentifier = @"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier];
    }
    //configure cell
    NSString *imageName = [NSString stringWithFormat:@"%02d",indexPath.row]; //convert row number to string with format ##
    if ([testId containsObject:imageName]) {
        UIImage *img = [UIImage imageNamed:imageName];
        cell.imageView.image = img;
    }
    cell.textLabel.text = [nameId objectAtIndex:indexPath.row];

    return cell;
}