- 快速构建多页面控制器
- 分类栏和内容视图完全解耦
- 支持分类栏的自定义
- 支持分类栏添加在导航栏上
- 支持分类栏滑动悬停
pod 'MCPageViewController'
/// 分类条
lazy var categoryBar: MCCategoryBar = {
let view = MCCategoryBar()
view.delegate = self
return view
}()
/// 内容容器
lazy var containerView: MCContainerView = {
let view = MCContainerView()
view.delegate = self
return view
}()
func loadPageViewController() {
let config = MCPageConfig()
config.viewControllers = vcArray
config.categoryModels = modelArray
config.defaultIndex = 0
config.category.maxTitleCount = 10
categoryBar.initCategoryBarWithConfig(config)
containerView.initContainerViewWithConfig(config)
}
loadPageViewController方法一定要在约束布局之前执行
override func initUI() {
view.addSubview(categoryBar)
categoryBar.snp.remakeConstraints { (make) ->Void in
make.left.right.top.equalTo(view)
make.height.equalTo(40)
}
view.addSubview(containerView)
containerView.snp.remakeConstraints { (make) ->Void in
make.left.right.bottom.equalTo(view)
make.top.equalTo(categoryBar.snp.bottom)
}
}
extension MCBasicUseViewController: MCCategoryBarDelegate {
func categoryBar(categoryBar: MCCategoryBar, didSelectItemAt index: Int) {
containerView.containerViewScrollToSubViewController(subIndex: index)
}
}
extension MCBasicUseViewController: MCContainerViewDelegate {
func containerView(_ containerView: MCContainerView, didScrollToIndex index: Int) {
categoryBar.categoryBarDidClickItem(at: index)
}
}
QQ群: 316879774