0

我有一个带有 uiimageview 的 tableviewcell,其 image 属性在cellForRowAtIndexPath:

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

现在,didSelectRow...我正在尝试将其换成其选定的部分,就像在 switch( 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。

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

4

1 回答 1

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;
于 2013-06-08T01:04:42.700 回答