/YHPageViewController

分页控制器

Primary LanguageObjective-C

分页控制器是基于系统的UIPageViewController实现

效果展示

  1. 支持标题栏设置在导航条上方

    image.png

  2. 未读消息数设置

    image.png

  3. 多种样式

    image.png

    image.png

  4. page嵌套page

    image.png

  5. vc的Scrollview嵌套PageVC

    滚动示例

  6. 标签切换动画

    标签动画效果图


使用示例:

以下是使用继承YHPageViewController的方式

    //标签栏是否显示在导航条上方
    self.segmentMenuShowOnNavigationBar = YES;
    
    //添加他的自控制器 和他的标题配置
    [self yh_addChildController:[YHColorViewController new] title:@"标题1"];
    [self yh_addChildController:[YHColorViewController new] title:@"标题2"];
    [self yh_addChildController:[YHColorViewController new] title:@"标题3"];
    [self yh_addChildController:[YHTableViewController new] title:@"标题1111"];
    [self yh_addChildController:[YHTableViewController new] title:@"标题222LLLooonnnnnnngg"];
    [self yh_addChildController:[YHTableViewController new] titleConfig:^(YHPageTitleItem * _Nonnull item) {
        item.title = @"标题333";
    }];
    
    //标签栏上标题字体 间距 布局 指示器 等设置
    self.segmentControl.config.layoutType = YHSegmentLayoutType_Left;
    self.segmentControl.config.progressAnimation = YHSegmentAnimation_LineFadein;
    self.segmentControl.config.fontSelected = [UIFont yh_pfmOfSize:20];
    self.segmentControl.config.fontSelected = [UIFont yh_pfOfSize:16];

    //这个需要调用一次
    [self yh_reloadController];
    
    //初始选中位置
    self.selectIndex = 4;

如果要实现PageViewController他的HeaderView悬浮的方式,可以去继承YHPageHeaderViewController控制器,也可以单独把分页控制器添加到自定义的YHPageScrollViewscrollview的子类中,自定义滚动悬浮效果。

示例:

    self.scrollView = [YHPageScrollView new];
    //设置他的最大滚动偏移高度
    self.scrollView.maxOffsetY = [self yh_pageHeaderHeight];
    [self.scrollView setDidScrollBlock:^(CGFloat offy) {
        ...
    }];
    [self.view addSubview:self.scrollView];
    ...
    
    self.pageHeaderView = [self yh_pageHeaderView];
    [self.scrollView addSubview:self.pageHeaderView];
    ...
    
    self.pageViewController = [YHPageViewController new];
    ...

欢迎 issues me