更改UITableView分隔符中embedded区域的颜色

我有一个自定义的UITableView,单元格有不同的背景颜色(在自定义backgroundView中设置)。 但是,背景颜色只应用于单元格内,但不能扩展到分隔符的插入区域。 正如你在截图中看到的那样,在彩色分隔符的左边有一个白色的区域。

我们怎样才能改变这条白线的颜色? 我们希望通过将其设置为与单元格背景相同的颜色来使该行“消失”。 谢谢!

在这里输入图像说明

将单元格的背景颜色设置为与contentView的背景颜色相同似乎给出了最好的结果。

cell.backgroundColor = cell.contentView.backgroundColor; 

这将处理accessoryView颜色错误的情况。

所以我自己也遇到了这个问题,这很奇怪,因为它似乎在一些tableviews上工作正常。 我假设你使用的灰色是你的tableview的背景颜色。 如果没有,这个解决scheme可能无法工作。

看起来像iOS 7中的单元格不会总是在存在分隔符插图时拾取tableview背景色,因此您需要手动将单元格背景设置为clearColor。 有趣的是,在故事板中设置这个值并不适合我,我不得不在代码中完成。 添加这个:

 cell.backgroundColor = [UIColor clearColor]; 

当你在这个委托函数中configuration单元格时:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

它在iOS7中的默认值。 但是你可以改变为像iOS6的样子。请试试我下面的代码。 你会惊讶:

  tableView.separatorColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0]; NSString *iosversion = [[UIDevice currentDevice] systemVersion]; int version = [iosversion intValue]; if(version>6) { tableView.separatorInset = UIEdgeInsetsZero; } 

使用图像作为分隔符。 这是实现预期结果的唯一简单方法。 对于ios 7在xib我们有边缘昆虫属性在那里你可以使用。

转到故事版>属性检查器>分隔符插入,然后selectcutom并将左侧坐标从15更改为0.它将被完成。

在UITableViewCell的界面生成器中,将属性“背景”设置为清除(或其他),然后在内容视图上将属性“背景”设置为清除,问题应该消失。