自定义的UITableViewHeaderFooterView的注意要点

一、在使用代码编写UITableViewHeaderFooterView的时候,要知道在视图初始化的方法 init  中初始化是并不会为视图设置Frame,设置Frame是在tableVIew被初始化的时候进行的

二、由于初始化的时候并不会给视图设置Frame,所以在有子视图的情况下,无法在初始化的时候给子视图设置相对于UITableViewHeaderFooterView视图的大小,因此需要在funclayoutSubviews() 方法中布局子视图,设置子视图的Frame

三、在子视图大小需要和父视图大小相同的时候,必须设置子视图的bounds和父视图相同,不能设置frame相同,因为UITableViewHeaderFooterView 的origin是以tableVIew为参照设置的,并不为零

四、在需要使用自定义的UITableViewHeaderFooterView 的时候,需要用注意两点

1.必须重写数据源中返回UITableViewHeaderFooterView 高度的方法

optional func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
2.在tableView中使用自定义的 UITableViewHeaderFooterView 视图 必须一下方法来获得自定义视图
optional func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?



你可能感兴趣的:(swift学习历程)