UITableView - 单元格之间出现的一条线

时间:2015-09-14 12:56:10

标签: ios objective-c uitableview

我有UITableView存储照片 - 每个单元格一张照片。在一段时间之前的Xcode更新后,表格现在在左边的单元格之间显示一条细白线,如图1所示。由于某种原因,图像始终从表格的左侧缩进,并且仅在此部分下方白线现在出现了。

所以我真的有两个问题 - 如何摆脱白线和/或缩进?分隔符颜色通常与背景相同,但我尝试将TableView中的分隔符颜色更改为红色,看看会发生什么,我得到你在图2中看到的内容。(图像​​缩略图无关紧要)。

我所希望的是保留分隔符(因此照片之间有一条线),但要与它的颜色相符,以便与背景颜色相匹配。

enter image description here

5 个答案:

答案 0 :(得分:4)

设置tableView.separatorStyle = UITableViewCellSeparatorStyleNone;tableview删除呼吸器。但根据您现有的代码,您使用了相同颜色的分隔符。我建议使用以下代码:

-(void)viewDidLayoutSubviews
{
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

答案 1 :(得分:1)

我认为这是tableview的分隔符。您需要关闭分隔符。下面是如何做到这一点

enter image description here

Plz检查并确认。

修改

我改变了我的演示文件 - 将单元格背景颜色变为绿色并关闭分隔符。正如你在这里看到的那样 enter image description here

这就是我在运行模拟器后得到的[注意 - 我实现了委托和数据源方法,我的numberOfRows的返回值为5]

enter image description here

似乎没有你想要的空间。

答案 2 :(得分:1)

从tableView中删除任何分隔符:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

然后,从UITableViewCells移除UIImageView和视图边距之间的任何空格(来自示例的设置约束)。

修改

您可以使用tableView属性设置分隔符颜色:

tableView.separatorColor = [UIColor greenColor];

答案 3 :(得分:1)

首先,您需要设置分隔符无

添加自定义分隔符,例如addSubview 首先得到细胞高度...

 UILabel *line=[[UILabel alloc]initWithFrame:CGRectMake(0, cellHeight-1, cell.frame.size.width, 1)];
            line.backgroundColor=[UIColor redColor];

 [cell addSubview:line];

答案 4 :(得分:0)

<script> $("#profile").submit(function(e) { // add 'e' e.preventDefault(); //add this line var send = document.getElementById("maquillaje"), sendValue = send.value, sendCheck = send.checked, errors = ""; if (!sendCheck) { errors += "Please answer question 5"; } if (errors != "") { alert(errors); return false; } else { alert("Your details are being sent"); this.submit(); //submit the form return true; } }); </script> 函数中,添加cell.backgroundColor = {所需的颜色}。这将使空白与您的背景色相同。