iOS支持头部的多页面控制器

2019-10-18  本文已影响0人  CholMay
效果图:
效果图
效果图中页面结构:

功能支持:
1、多种类型cell共存(如上,支持多种类型cell的布局,更灵活)
2、支持MJRefresh的整体下拉刷新

优势: 结构简单,容易接入使用

github地址

使用:

1、通过pods导入
pod  `CZCPageController`
pod install
2、新建控制器UIViewController,继承CZCPageController

在新建的控制器中实现CZCPageControllerDelegate中的方法

//CZCPageControllerDelegate
/*
 * 返回要设置的子控制器数组
 */
- (NSArray<UIViewController<CZCScrollControllerDelegate> *> *)pageControllerWithSubControllers;

/*
 * segmentBar所在的区 从0开始
 */
- (NSUInteger)pageControllerWithSegmentBarFloatSection;

/*
 * segmentBar高度
 */
- (CGFloat)pageControllerWithSegmentBarHeight;

/*
 * segmentBar样式设置,(字体、颜色等)
 */
- (void)pageControllerWithConfigSegmenrBarAppearance;
3、步骤2中的代理返回的子控制器遵循CZCScrollControllerDelegate

遵循代理
如:

//返回子控制器滑动距离
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    if (self.contentOffsetY) {
        self.contentOffsetY(scrollView.contentOffset.y);
    }
}
//子控制器的容器
#pragma mark CZCScrollControllerDelegate
- (UIScrollView *)controllerMainScrollView{
    return self.collectionView;
}

注意:
子控制器的CollectionView或tableView的bounces需要设置为NO

4、最后

注意:
1、考虑到segmentBar中title、子控制器数量等数据有服务端返回才能确定,因此,服务端返回数据之后,需要执行[self updateData](父类方法)
2、结构图中的UITableViewCell或者UICollectionViewCell又要嵌套UICollectionView、UIScrollView的话,要使用这两种类型:CZCCustomCollectionView、CZCCuscomScrollView, (如demo中的GGJShopCouponCell)

上一篇下一篇

猜你喜欢

热点阅读