- 需要自定义一个
UITableViewHeaderFooterView
里面需要天加一个view,否则无法设置背景颜色
class MyTableHeaderFooterView: UITableViewHeaderFooterView {
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
let view = UIView()
view.backgroundColor = UIColor.c_0xf5f5f5
self.addSubview(view)
view.snp.makeConstraints { (make) in
make.edges.equalTo(self)
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
- 注册自定义 MyTableHeaderFooterView.self
let headerFooterId = "headerFooterId"
register(MyTableHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: headerFooterId)
- 实现代理方法
获取view
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = tableView.dequeueReusableHeaderFooterView(withIdentifier: headerFooterId)
return view
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = tableView.dequeueReusableHeaderFooterView(withIdentifier: headerFooterId)
return view
}
设置高度 (必须大于等于0.01否则无效)
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 12
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 1
}
网友评论