每行分隔符上的UITableView不需要的白线

时间:2014-06-27 13:43:12

标签: ios objective-c ipad uitableview ios7.1

我一直在使用tableview的以下代码

 _comboBoxTableView = [[UITableView alloc] initWithFrame:CGRectMake(1, _selectContentLabel.frame.origin.y+_selectContentLabel.frame.size.height-1, frame.size.width+1, 48) style:UITableViewStylePlain];
_comboBoxTableView.layer.borderColor=[UIColor colorWithRed:226.0/255.0 green:226.0/255.0 blue:226.0/255.0 alpha:1].CGColor;
_comboBoxTableView.layer.cornerRadius = 10;
_comboBoxTableView.layer.borderWidth = 1.0f;
_comboBoxTableView.separatorColor = [UIColor colorWithRed:166.0/255.0 green:166.0/255.0 blue:166.0/255.0 alpha:1];
[_comboBoxTableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

enter image description here 每个分隔符左侧都有不需要的白色,如下所示。

这是一个错误吗?我用ios7.1运行它。有什么工作吗?

3 个答案:

答案 0 :(得分:1)

这不是一个错误。从iOS 7开始,表视图能够调整其分隔符的插图。如果需要边到边的分隔符,请删除insets:

if ([_comboBoxTableView respondsToSelector:@selector(separatorInset)]) { // In case running iOS < 7
    _comboBoxTableView.separatorInset = UIEdgeInsetsZero;
}

UITableView documentation中的更多信息。

答案 1 :(得分:0)

如果您没有时间以编程方式修复此问题,可以添加子视图修补while行。

enter image description here

我知道这不是正确的解决方案,但有效。

答案 2 :(得分:0)

对我有用:在Interface Builder中,tableview有一个名为Separator Inset的东西。它通常是默认值(这似乎是15)。

您可以将其切换为自定义并将15替换为0.不再有奇怪的线条。

enter image description here

enter image description here