【问题标题】:Grey separator line on top of uitableviewcelluitableviewcell 顶部的灰色分隔线
【发布时间】: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


【解决方案1】:

我找到了我的问题的解决方案。通过在 cell 类的 backgroundView 中设置一个 UIView,并用白色背景填充它,这样就解决了这个问题。

self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero]; self.backgroundView.backgroundColor = [UIColor whiteColor];

【讨论】:

  • Clips To Bounds Cell 也解决了这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多