我在过去的几个小时里一直在努力解决这个问题,我找不到它的解决方法...... 在UITableView中,我插入了一个具有所有不同颜色的自定义UITableViewCells列表。这些颜色是UIView的一部分,它充当tableviewCell的backgroundView当我初始化UITableView时,我设置了
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
然而,在顶部的每个单元格上仍然有一条细灰线。这行不是来自textLabel(这个标签的框架比实际的单元格小),而且UIView都不包含颜色(layer.borderwidth = 0.0f,颜色是clearColor)。
修改
好的,我发现这些线条确实来自包含背景颜色的UIView。然而,当我重新排序它们时,禁用它们会导致transparant单元格,这是这个UIView中drawRect的结果,下面的代码用于绘制UIView:
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), true);
CGContextFillRect(UIGraphicsGetCurrentContext(), self.bounds);
任何人都知道解决这个问题的方法吗?
解决
我非常愚蠢,但是单元格没有backgroundView ...所以通过在自定义单元格类中添加这两行,问题就解决了!
self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
self.backgroundView.backgroundColor = [UIColor whiteColor];
答案 0 :(得分:2)
我找到了解决问题的方法。通过在单元格类的backgroundView中设置UIView,并用白色背景颜色填充它,这解决了问题。
self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
self.backgroundView.backgroundColor = [UIColor whiteColor];