UITableView在iOS8中某些单元格的分隔符显示在错误位置[英] UITableView displays separator at wrong position in iOS8 for some cells

本文是小编为大家收集整理的关于UITableView在iOS8中某些单元格的分隔符显示在错误位置的处理方法,想解了UITableView在iOS8中某些单元格的分隔符显示在错误位置的问题怎么解决?UITableView在iOS8中某些单元格的分隔符显示在错误位置问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我们有一个 UITableView,它在 iOS7 上运行良好,但是当我在 iOS8 模拟器中尝试时,我发现大多数单元格的单元格分隔符放置不正确.奇怪的是,有些单元格正确显示了分隔符.

见附图:

UITableView 分隔符错误...有时!

我这样设置单元格高度:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 70.0f;
}

你知道发生了什么吗?谢谢!

编辑:

我在此期间使用的解决方法是禁用分隔符...

    [tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

...在单元格视图中自己绘制...

    UIView* separator = [[UIView alloc] initWithFrame:CGRectMake(20, cellHeight-1, frame.size.width - 40, 1)];
    separator.layer.borderWidth = 1;
    separator.layer.borderColor = [[UIColor grayColor] CGColor];
    [self addSubview:separator];

...但我不想这样做.

推荐答案

我遇到了同样的问题,我是这样解决的:

如果您为表格视图使用自定义单元格并且您已覆盖 layoutSubviews,则需要在方法的开头调用它的超级视图方法:

- (void)layoutSubviews
{
    [super layoutSubviews];
    // Your implementation
}

本文地址:https://www.itbaoku.cn/post/924690.html