分隔线问题 - 具有不同高度的uitableview单元

时间:2015-06-24 06:44:44

标签: ios objective-c iphone uitableview

我有一个具有不同单元格高度的UITableView。我还使用以下代码添加了自定义分隔线

UIView* separatorLineView = [[UIView alloc]initWithFrame:CGRectMake(1, cellReport.frame.size.height-1, table.frame.size.width-1, 1)];
separatorLineView.backgroundColor = [UIColor grayColor];
[cellReport.contentView addSubview:separatorLineView];

当我滚动我的表时,行之间会出现额外的分隔符,我不明白为什么?我错过了什么吗?帮帮我。 简而言之,UITableView在某些单元格的错误位置显示分隔符。附上了一个示例图像供参考。

P.S:我没有使用自动退出

enter image description here

1 个答案:

答案 0 :(得分:2)

请按以下步骤操作

并且不需要每次都有分隔符视图。并且每次都设置你的框架。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *myIdentifier=@"Cell";

    UITableViewCell  *Cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:myIdentifier];

    UIView* separatorLineView;

    if (Cell == nil)
    {

        Cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:myIdentifier];

        separatorLineView = [[UIView alloc] initWithFrame:CGRectZero];
        separatorLineView.backgroundColor = [UIColor grayColor];
        separatorLineView.tag = 100;
        [Cell.contentView addSubview:separatorLineView];
    }

    separatorLineView = (UIView *)[Cell.contentView viewWithTag:100];

    separatorLineView.frame = CGRectMake(0, Cell.frame.size.height-1, Cell.frame.size.width, 1);

}