昨天我看了别人的一个相当大的项目,我注意到只要不打算让 UITableView 生成分隔符,它都是通过设置 tableView.separatorColor = .clear
来完成的> 而不是 tableView.separatorStyle = .none
。
现在我想知道是否有原因。结果是否有任何不同,或者更改样式属性是否会因为缺少 0.5p 而以某种方式扰乱约束?
最佳答案
是的,您的思考方向是正确的。
tableView.separatorColor = .clear
//清除分隔符背景色
tableView.separatorStyle = .none
//它从 superview 中删除分隔符(UITableCell
)
案例研究:
考虑将 UITableViewCell
的高度设置为 50。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50
}
如果UITableViewCell
中有一个UILabel
,并且您提供了前导、尾随、顶部和底部约束,则tableView。 separatorStyle = .none
不会导致任何约束破坏,因为 UILabel
的高度将自动增加。
但是,如果在上述情况下,如果您也应用了高度约束,那么计算的高度和约束高度将会有0.5像素的差异。
这不一定每次都会发生,但为了防止这种情况,我们应该使用tableView.separatorColor = .clear
。
关于ios - UITableView分隔符style=无与分隔符颜色=.clear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52663882/