执行reloadData时,ghost子视图的UITableViewCell问题

时间:2010-08-05 17:23:40

标签: iphone uitableview

我已将自定义UILabel添加到我的单元格的contentView中,具体取决于应用程序的状态,它会变为粗体或常规重量。出于某种原因,当我执行[tableView reloadData]以使其再次成为常规重量时,标签的粗体版本仍然可见,如下所示:

pesky ghosts! http://a.imageshack.us/img836/1732/screenshot2010080513050.png

从粗体“7”中看到讨厌的位仍然可见?就像每个单元格一样,如果它变为粗体一次,那么“幽灵”一直存在,直到应用程序退出。

标签以这种方式创建:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//.....

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.text = @"my text here";
label.font = condition ? [UIFont boldSystemFontOfSize:12] : [UIFont systemFontOfSize:12];
label.numberOfLines = 1;
[label sizeToFit];  
[cell.contentView addSubview:label];
[label release];
//......
}

当我使用单元格的textLabel时没有发生这种情况,但由于其他原因,我需要使用单独的UILabel。

重新加载数据后可能导致这些视图停留的原因是什么?

1 个答案:

答案 0 :(得分:0)

我认为这个问题是你可能正在寻找的......

What is -[NSString sizeWithFont:forWidth:lineBreakMode:] good for?

可能是您的标签的框架不正确,因此可以查看旧内容

忘了发布链接...抱歉