【发布时间】:2014-08-15 10:36:14
【问题描述】:
在过去的几个小时里,我一直在努力解决这个问题,但我找不到解决办法... 在 UITableView 中,我插入了一个自定义 UITableViewCells 列表,其中包含所有不同的颜色。这些颜色是 UIView 的一部分,它充当 tableviewCell 的 backgroundView 当我初始化 UITableView 时,我设置了
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
但是,在顶部的每个单元格上仍然有一条细灰线。此行不是来自 textLabel(此标签的框架比实际单元格小),也不是来自包含颜色的 UIView(layer.borderwidth = 0.0f,颜色为 clearColor)。
编辑
好的,我发现这些线条确实来自包含背景颜色的 UIView。然而禁用它们,当我重新排序它们时会导致透明单元格,这是此 UIView 中的 drawRect 的结果,使用以下代码绘制 UIView:
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), true);
CGContextFillRect(UIGraphicsGetCurrentContext(), self.bounds);
有人知道解决这个问题的方法吗?
已解决
我很愚蠢,但是单元格没有 backgroundView... 所以通过在自定义单元格类中添加这两行,问题就解决了!
self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
self.backgroundView.backgroundColor = [UIColor whiteColor];
【问题讨论】:
-
能发个截图吗?
-
您使用的是 Xcode 6/iOS 8 吗?
-
可能是表格超级视图背景颜色、单元格背景视图颜色或内容视图颜色显示?
-
不使用 ios 7 和 XCode 5
-
改变 tableview 或 superview 的背景不会改变它。当我在编辑模式下对单元格重新排序时,我可以看到边框/线条附加到单元格上。
标签: ios objective-c uitableview