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

效果图:
效果图
效果图中页面结构:

功能支持:
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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容