如何在iOS中多次停止我的表格视图单元格加载其子视图?

时间:2012-08-07 21:09:45

标签: ios uitableview

我在表格的视图单元格中使用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;

}

但标签已多次加载。我可以看到它越来越大胆了。我该如何解决?

1 个答案:

答案 0 :(得分:0)

当您致电addSubview时,它不会删除旧视图。请记住,重复使用单元格,因此您在上一次迭代中添加的视图仍然存在。

您应该改为UITableViewCell的子类,以便为其添加UILabel

修改

或者你可以做到

author_name.tag = 10;

然后

FontLabel *author_name = (FontLabel *)[cell.contentView viewWithTag:10];

当你想要检索它时。