昨天我查看了其他人的一个相当大的项目,并且我注意到,无论打算不要由UITableView生成分隔符,都是通过设置tableView.separatorColor = .clear
而不是tableView.separatorStyle = .none
来完成的。
现在,我想知道是否可能有原因。结果是否有所不同,或者更改样式属性会因为缺少0.5p而以某种方式破坏了约束吗?
答案 0 :(得分:2)
是的,您正在朝正确的方向思考。
tableView.separatorColor = .clear
//清除分隔符的背景颜色
tableView.separatorStyle = .none
//从超级视图(UITableCell
)中删除分隔符
案例研究:
将UITableViewCell
的高度设置为50。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50
}
如果UILabel
中有一个UITableViewCell
,并且您提供了前导,尾随,顶部和底部约束,那么tableView.separatorStyle = .none
不会引起任何约束,中断,因为UILabel
的高度将自动增加。
但是,在上述情况下,如果您还应用了 height-constraint ,那么计算出的高度和约束高度就会有 0.5像素的差异。
不一定每次都会发生,但为防止这种情况,我们应该使用tableView.separatorColor = .clear
。