uitableview 中的单元格图像在滚动时显示备份
Posted
技术标签:
【中文标题】uitableview 中的单元格图像在滚动时显示备份【英文标题】:Cell image in uitableview shows back up when scrolling 【发布时间】:2012-10-18 22:30:46 【问题描述】:如果消息未读,我正在执行以下操作来设置单元格图像
- (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;
这是正确显示图像的时候。但是,如果我向下滚动并向上滚动,它们都会显示图像是否应该显示
【问题讨论】:
【参考方案1】:细胞被重复使用。所以你需要为每个条件设置每个属性。
if([m.messageRead isEqualToString:@"False"])
cell.imageView.image = [UIImage imageNamed:@"new.png"];
else
cell.imageView.image = nil;
【讨论】:
啊,我想我从来没有把这两个放在一起。【参考方案2】:由于UITableViewCell
s 被重复使用,您应该将cell.imageView.image
设置为nil
,以防您不需要图像。
if([m.messageRead isEqualToString:@"False"])
cell.imageView.image = [UIImage imageNamed:@"new.png"];
else
cell.imageView.image = nil;
【讨论】:
以上是关于uitableview 中的单元格图像在滚动时显示备份的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在自定义单元格中的复选框在快速选择和滚动时显示不同的行为?