如何在tableviewcell中换出UIImage

时间:2013-06-07 22:40:12

标签: ios uiimageview

我有一个带有uiimageview的tableviewcell,其image属性设置如cellForRowAtIndexPath:

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

现在在didSelectRow...我正在尝试将其换成选定的couterpart,就像在交换机内indexPath.row)一样:

case 1:
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    if (driveThruSelected == FALSE) {
        cell.imageView.image = nil;
        cell.imageView.image = [UIImage imageNamed:@"image2.jpg"];
    } else {
        cell.imageView.image = nil;
        cell.imageView.image = [UIImage imageNamed:@"image.jpg"];

    }
    break;

单元格加载正确的初始图像,第一个点击确实呈现新的image2.jpg,可以在旧图像上显示。但当我再次点击它时,单元格突出显示蓝色显示它被点击但图像(至少在顶部)仍然是image2.jpg。

如何在添加新图像之前删除图像视图中的上一张图像?

1 个答案:

答案 0 :(得分:1)

我假设您在第一次加载页面/表时将其设置为FALSE。我相信你丢失的代码就是这个driveThruSelected切换,即

case 1:
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    if (driveThruSelected == FALSE) {
        //set it to true
        driveThruSelected = TRUE;
        cell.imageView.image = nil;
        cell.imageView.image = [UIImage imageNamed:@"image2.jpg"];
    } else {
        //set it to false
        driveThruSelected = FALSE;
        cell.imageView.image = nil;
        cell.imageView.image = [UIImage imageNamed:@"image.jpg"];

    }
    break;