UiTableviewCell,动态数据init无法正确加载

时间:2017-11-02 10:19:01

标签: ios objective-c xcode uitableview uitableviewrowaction

在我的单元格数据正在加载但它全部乱了,直到我向下滚动然后如果我正确地向后滚动所有格式。因此,当每个我加载的列表是uitableview数据时都搞砸了,并且一旦我开始滚动并向上滚动它就会到位并正确显示。请帮忙。

我的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }
    for(UIView *v in [cell subviews])
    {
        if([v isKindOfClass:[UILabel class]])
            [v removeFromSuperview];
        if ([v isKindOfClass:[UIImageView class]])
            [v removeFromSuperview];
    }
UIView *CellBGView = [[UIView alloc] initWithFrame:CGRectMake(10, 5, cell.frame.size.width-20, cell.frame.size.height-10)];
    CellBGView.backgroundColor = [UIColor whiteColor];

    UIImageView *divider = [[UIImageView alloc] initWithFrame:CGRectMake(CellBGView.frame.size.width-155,       CellBGView.frame.size.height-140, 150, 150)];
    divider.image = [UIImage imageNamed:@"icon_alpha.png"];
    [CellBGView addSubview:divider];
    ......
    return cell;
}

当我打开列表和滚动表之前

enter image description here

这是在滚动所有内容后到位

enter image description here

1 个答案:

答案 0 :(得分:1)

我有一个解决方案。

  • 首先,创建print(t1) // 20171017T1201 print(fn1) // 8712000100030779 print(t2) // 20171016T180757 print(fn2) // 8710000101140572 的子类(例如,将其命名为UITableViewCell

  • DemoTableViewCell的{​​{1}}方法中,将您的图片和标签添加到单元格中。

  • initWithStyle中,您不需要添加或删除图片和标签。只需更改颜色或为其设置图像。