uitableview中的单元格图像在滚动时显示备份

时间:2012-10-18 22:30:46

标签: ios uitableview uiimageview uiimage

如果邮件未读,我正在执行以下操作来设置单元格图像

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MessageCell"];

        Message *m = [self.messages objectAtIndex:indexPath.row];

        cell.textLabel.text = m.subject;
        NSString *detail = [NSString stringWithFormat:@"%@ - %@", m.callbackName, m.dateSent];
        cell.detailTextLabel.text = detail;

        if([m.messageRead isEqualToString:@"False"])
            cell.imageView.image = [UIImage imageNamed:@"new.png"];


    return cell;
}

这是正确显示图像的时候。如果我向下滚动并向上滚动,它们都会显示图像是否应该

2 个答案:

答案 0 :(得分:2)

细胞被重复使用。因此,您需要为每个条件设置每个属性。

if([m.messageRead isEqualToString:@"False"])
    cell.imageView.image = [UIImage imageNamed:@"new.png"];
else
    cell.imageView.image = nil;

答案 1 :(得分:1)

由于UITableViewCell被重复使用,因此如果您不需要图像,则应将cell.imageView.image设置为nil

if([m.messageRead isEqualToString:@"False"]) {
    cell.imageView.image = [UIImage imageNamed:@"new.png"];
} else {
    cell.imageView.image = nil;
}