UITableView separatorStyle = none 与 separatorColor = .clear
UITableView separatorStyle = none vs. separatorColor = .clear
昨天我从别人那里看了一个相当大的项目,我注意到无论什么地方的目的不是让 UITableView 生成分隔符,它是通过设置 tableView.separatorColor = .clear
而不是 [=12] 来完成的=].
现在我想知道是否可能有这样的原因.. 结果是否有任何不同或改变样式 属性 是否因为缺少 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
的高度将自动增加。
但是如果上面的情况你也应用了height-constraint,那么计算出的高度会有0.5像素的差异和约束高度。
不一定每次都会发生,但为了防止这种情况,我们应该使用tableView.separatorColor = .clear
。
昨天我从别人那里看了一个相当大的项目,我注意到无论什么地方的目的不是让 UITableView 生成分隔符,它是通过设置 tableView.separatorColor = .clear
而不是 [=12] 来完成的=].
现在我想知道是否可能有这样的原因.. 结果是否有任何不同或改变样式 属性 是否因为缺少 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
的高度将自动增加。
但是如果上面的情况你也应用了height-constraint,那么计算出的高度会有0.5像素的差异和约束高度。
不一定每次都会发生,但为了防止这种情况,我们应该使用tableView.separatorColor = .clear
。