带头视图可刷新分页控制器

github:https://github.com/alwayns/HeadPageVC

效果如下图:

使用方法

PageVC

//viewControllers:子控制器
//headerView:头视图
//pageTitleView:菜单栏
//viewHeight:pageVC高度,当底部有其他空间时,通过这个来控制
pageVC = LXPageViewController.init(viewControllers: controllers, headerView: headView!, pageTitleView: titleView!, viewHeight: view.frame.height) 
pageVC!.delegate = self addChild(pageVC!) view.addSubview(pageVC!.view)
'''

子控制器:

1.继承LXChildViewController
2.重写父类属性

override var offsetY: CGFloat { 
  set {
    tableView!.contentOffset = CGPoint(x: 0, y: newValue)
  }
  
  get
{
    return tableView!.contentOffset.y }
  }

override var isCanScroll: Bool {
  didSet {
    if isCanScroll {
      tableView!.setContentOffset(CGPoint(x: 0, y: offsetY), animated: false)
    }
  }
}

3.实现代理方法

 func scrollViewDidScroll(_ scrollView: UIScrollView) { 
  scrollDelegate?.lxChildViewController(self, scrollViewDidScroll: scrollView)
}
原文地址:https://www.cnblogs.com/liuluoxing/p/11743725.html