我在表格的视图单元格中使用FontLabel。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
FontLabel *author_name = [[FontLabel alloc] initWithFrame:CGRectMake(58, 10, 217, 16) fontName:@"MyriadPro-Bold" pointSize:12.0f];
author_name.numberOfLines = 1;
author_name.text = [dummyArray objectAtIndex:indexPath.row];
author_name.textColor = [UIColor colorWithRed:0.580 green:0.776 blue:0.329 alpha:1.000];
author_name.backgroundColor = [UIColor clearColor];
[cell addSubview:author_name];
return cell;
}
但标签已多次加载。我可以看到它越来越大胆了。我该如何解决?
答案 0 :(得分:0)
当您致电addSubview
时,它不会删除旧视图。请记住,重复使用单元格,因此您在上一次迭代中添加的视图仍然存在。
您应该改为UITableViewCell
的子类,以便为其添加UILabel
。
修改强>
或者你可以做到
author_name.tag = 10;
然后
FontLabel *author_name = (FontLabel *)[cell.contentView viewWithTag:10];
当你想要检索它时。