iOS支持頭部的多頁面控制器

效果圖:
效果圖
效果圖中頁面結(jié)構(gòu):

功能支持:
1、多種類型cell共存(如上,支持多種類型cell的布局,更靈活)
2、支持MJRefresh的整體下拉刷新

優(yōu)勢: 結(jié)構(gòu)簡單,容易接入使用

github地址

使用:

1、通過pods導(dǎo)入
pod  `CZCPageController`
pod install
2、新建控制器UIViewController,繼承CZCPageController

在新建的控制器中實(shí)現(xiàn)CZCPageControllerDelegate中的方法

//CZCPageControllerDelegate
/*
 * 返回要設(shè)置的子控制器數(shù)組
 */
- (NSArray<UIViewController<CZCScrollControllerDelegate> *> *)pageControllerWithSubControllers;

/*
 * segmentBar所在的區(qū) 從0開始
 */
- (NSUInteger)pageControllerWithSegmentBarFloatSection;

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

/*
 * segmentBar樣式設(shè)置,(字體、顏色等)
 */
- (void)pageControllerWithConfigSegmenrBarAppearance;
3、步驟2中的代理返回的子控制器遵循CZCScrollControllerDelegate

遵循代理
如:

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

注意:
子控制器的CollectionView或tableView的bounces需要設(shè)置為NO

4、最后

注意:
1、考慮到segmentBar中title、子控制器數(shù)量等數(shù)據(jù)有服務(wù)端返回才能確定,因此,服務(wù)端返回?cái)?shù)據(jù)之后,需要執(zhí)行[self updateData](父類方法)
2、結(jié)構(gòu)圖中的UITableViewCell或者UICollectionViewCell又要嵌套UICollectionView、UIScrollView的話,要使用這兩種類型:CZCCustomCollectionView、CZCCuscomScrollView, (如demo中的GGJShopCouponCell)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容