效果图:
效果图中页面结构:
功能支持:
1、多种类型cell共存(如上,支持多种类型cell的布局,更灵活)
2、支持MJRefresh的整体下拉刷新
优势: 结构简单,容易接入使用
使用:
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)