Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableView分离器样式=无vs.分离器颜色=.clear_Ios_Swift_Uitableview_Separator - Fatal编程技术网

Ios UITableView分离器样式=无vs.分离器颜色=.clear

Ios UITableView分离器样式=无vs.分离器颜色=.clear,ios,swift,uitableview,separator,Ios,Swift,Uitableview,Separator,昨天我看了别人的一个相当大的项目,我注意到,如果不想让UITableView生成分隔符,可以通过设置tableView.separatorColor=.clear而不是tableView.separatorStyle=.none来实现 现在我想知道是否有这样的原因。。结果是否有任何不同,或者更改style属性是否会因为缺少0.5p而以某种方式破坏约束?是的,您的想法是正确的 tableView.separatorColor=.clear//它清除分隔符背景色 tableView.separato

昨天我看了别人的一个相当大的项目,我注意到,如果不想让UITableView生成分隔符,可以通过设置
tableView.separatorColor=.clear
而不是
tableView.separatorStyle=.none
来实现


现在我想知道是否有这样的原因。。结果是否有任何不同,或者更改style属性是否会因为缺少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=。无
将不会导致任何约束中断,因为
UILabel
的高度将自动增加

但是如果在上述情况下,如果您也应用了高度约束,那么计算出的高度和约束高度将相差0.5像素


不一定每次都会发生这种情况,但为了防止出现这种情况,我们应该使用
tableView.separatorColor=.clear

我认为这两种方法都可以隐藏分隔符。顺便说一句,更改分隔符的样式或颜色不会更改任何与约束相关的内容,所以不要担心