tableView在grouped样式下定制区头及其高度

tableView在grouped样式下,在代理方法中调整区头高度似乎没什么效果,假定想要区头是20个像素高,我之前处理的方式只是调整了heightForHeaderInSection,结果并没有作用,今天发现了一种方法可以控制:

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return scaleToHeight(size: 20)
    }
    
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return scaleToHeight(size: 0.5)
    }
    
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        let view:UIView = UIView(frame: CGRect(x: 0, y: 0, width: kScreenW, height: scaleToHeight(size: 0.5)))
        view.backgroundColor = UIColor.clear
        return view
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
       
        let view:UIView = UIView(frame: CGRect(x: 0, y: 0, width: kScreenW, height: scaleToHeight(size: 20)))
        view.backgroundColor = UIColor.clear
        return view
    }

这里比较坑的是,区头,区尾高度不能为0,而且返回的view不能为空,否则显示的依旧是系统的,所以在定制相关的区头区尾时两者兼顾就好了

最后附上一张效果图:

Simulator Screen Shot 2017年7月11日 20.13.27.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容