我有一个带有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。
如何在添加新图像之前删除图像视图中的上一张图像?
答案 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;