UITableView分隔符出现在单元格的中间

时间:2019-01-28 10:01:08

标签: ios swift uitableview

有时我的tableviewcell分隔符出现在单元格的中间。我搜索并找到了一种解决方案,可以将SeparatorStyle设置为none,并在单元格的底部设置自定义分隔符,但是我不想这样做。

我想知道根本原因,为什么它有时只出现。除此之外,还有其他解决方案吗?我也找到了this,但没有帮助。随附的屏幕截图:

image

编辑

我已经在网上搜索并尝试了所有可用的解决方案,但是它无法正常工作。

还尝试了以下代码:

upNextTableView.estimatedRowHeight = 44
upNextTableView.rowHeight = UITableView.automaticDimension

4 个答案:

答案 0 :(得分:1)

如果您使用自动布局并实现了heightForRowAt委托方法,并且该方法返回的值与单元格的实际高度不匹配,则会发生这种情况。

答案 1 :(得分:0)

快速

将这两行代码添加到表视图控制器的viewDidLoad()方法中:

tableView.layoutMargins = UIEdgeInsets.zero
tableView.separatorInset = UIEdgeInsets.zero

现在寻找您的cellForRowAt方法并添加以下内容:

cell.layoutMargins = UIEdgeInsets.zero

答案 2 :(得分:0)

分隔符不能出现在单元格的中间,这是不可能的。

但是您单元格中的内容有可能大于单元格本身,并且与下一个单元格重叠。

确保已正确设置所有约束。 如果单元格应具有动态高度,请确保在tableView中指定它。 here is a useful link 或者只是将clipToBounds = true设置为该单元格...

答案 3 :(得分:0)

选择表视图并转到属性检查器。

见下文:

enter image description here

接下来,转到分隔符插入并将其从自动更改为自定义。