我有一个自定义的UITableView,单元格有不同的背景颜色(在自定义backgroundView中设置)。但是,背景颜色仅应用于在单元格中,而不是扩展到分隔符的插入区域。正如您在屏幕截图中看到的那样,彩色分隔符左侧有一个白色区域。
我们如何改变这条白线的颜色?我们希望通过将其设置为与单元格背景相同的颜色来使该行“消失”。谢谢!
答案 0 :(得分:48)
将单元格的背景颜色设置为与contentView的背景颜色相同,似乎可以获得最佳效果。
cell.backgroundColor = cell.contentView.backgroundColor;
这将处理accessoryView的颜色错误的情况。
答案 1 :(得分:5)
所以我自己就遇到了这个问题,这很奇怪,因为它似乎在一些tableviews上工作正常。我假设您使用的灰色是您的tableview的背景颜色。如果没有,此解决方案可能无效。
当存在分隔符插入时,iOS 7中的单元格似乎并不总是拾取tableview背景颜色,因此您需要手动将单元格背景设置为clearColor。有趣的是,在故事板中设置这个值对我来说不起作用,我不得不在代码中这样做。加上这个:
cell.backgroundColor = [UIColor clearColor];
在此委托函数中配置单元格时:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
答案 2 :(得分:4)
这是iOS 7中的默认设置。但您可以将其更改为iOS 6的外观。请尝试下面的代码。你会惊讶的:
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;
}
Swift 3 +:
tableView.separatorInset = UIEdgeInsets.zero
答案 3 :(得分:0)
将图像用于分隔符。这是实现预期结果的唯一简便方法。对于xib中的ios 7,我们可以使用边缘昆虫属性。
答案 4 :(得分:0)
转到故事板>属性检查器>分隔符插入,然后选择自定义并将左坐标从15更改为0。 它将完成。
答案 5 :(得分:0)
在UITableViewCell的“界面”构建器中,将属性“背景”设置为清晰(或其他),然后在“内容视图”上设置属性“背景”也清晰,问题应该消失。
答案 6 :(得分:0)