swift4.0: UITabelView grouped模式下

2018-07-31  本文已影响0人  LiYaoPeng
  1. 需要自定义一个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")
    }
}
  1. 注册自定义 MyTableHeaderFooterView.self
let headerFooterId = "headerFooterId"
 register(MyTableHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: headerFooterId)
  1. 实现代理方法
    获取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
    }
上一篇下一篇

猜你喜欢

热点阅读