TableView 的那些坑

时间:2024-12-24 15:34:50

1. 分割线填满cell宽度, 并且设置分割线的颜色

1.1 利用系统的分割线填充

1.1.1 tableView 设置如下属性

// 给tableView设置如下属性值
tableView.layoutMargins = UIEdgeInsets.zero
tableView.separatorInset = UIEdgeInsets.zero

1.1.2 设置完tableView属性你发现执行完可能好一点不过还需要设置cell的一个属性, 并且这个属性一定要在cell 即将显示的时候设置

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.layoutMargins = UIEdgeInsets.init(top: , left: , bottom: , right: ) // 设置分割线的颜色
cell.setValue(UIColor.green, forKeyPath: "_separatorColor");
}

不过这样设置感觉还是不好, 因为cell每次显示的时候都需要设置

1.2 自定义cell, 一般的cell 都是自己定义的, 在定义的时候给cell增加一个view 设置高度为1就可以了, 代码就不写了很简单