我已将自定义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。
重新加载数据后可能导致这些视图停留的原因是什么?
答案 0 :(得分:0)
我认为这个问题是你可能正在寻找的......
What is -[NSString sizeWithFont:forWidth:lineBreakMode:] good for?
可能是您的标签的框架不正确,因此可以查看旧内容
忘了发布链接...抱歉