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)
}