iOS 顶部滚动标题视图SGPagingView

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Alexander_Wei/article/details/78543410

项目介绍:

SGPagingView

效果图


主要内容的介绍

  • 多种指示器长度样式

  • 多种指示器滚动样式

  • 标题按钮文字渐显效果

  • 标题按钮文字缩放效果

SGPagingView 集成

  • 1、CocoaPods 导入 pod 'SGPagingView', '~> 1.2.3'

  • 2、下载、拖拽 “SGPagingView” 文件夹到工程中

使用参考代码(详细使用, 请参考 Demo)

 
    

#define KWidth    [UIScreen mainScreen].bounds.size.width

#define KHeight   [UIScreen mainScreen].bounds.size.height

#import "ViewController.h"

//导入主头文件

#import "SGPagingView.h"

@interface ViewController ()<SGPageTitleViewDelegate,SGPageContentViewDelegate>

{

    SGPageTitleView* pageTitleView;//标题视图

    SGPageContentView* pageContentView;//内容视图

    NSArray* childViewControllersArr;

}

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    

    NSArray* titleArr = @[@"全部的",@"视频",@"有声的",@"图片",@"搞笑段子"];

    //指示器

    SGPageTitleViewConfigure* configure = [SGPageTitleViewConfigure pageTitleViewConfigure];

    //指示器额外增加的宽度:不设置,指示器宽度为标题文字宽度;若设置无限大,则指示器宽度为按钮宽度

    configure.indicatorAdditionalWidth = 0;

    

    pageTitleView = [SGPageTitleView pageTitleViewWithFrame:CGRectMake(0, 108, KWidth, 44) delegate:self titleNames:titleArr configure:configure];

    [self.view addSubview:pageTitleView];

    

    [self setUpChildViewControllers];

    

    pageContentView = [[SGPageContentView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(pageTitleView.frame), KWidth, KHeight-CGRectGetMaxY(pageTitleView.frame)) parentVC:self childVCs:childViewControllersArr];

    pageContentView.delegatePageContentView = self;

    [self.view addSubview:pageContentView];

}

//设置子控制器

-(void)setUpChildViewControllers{

    //全部的

    UIViewController* allVC = [UIViewController new];

    allVC.view.backgroundColor = [UIColor redColor];

    

    //视频

    UIViewController* videoVC = [UIViewController new];

    videoVC.view.backgroundColor = [UIColor orangeColor];

   

    //有声的

    UIViewController* soundVC = [UIViewController new];

    soundVC.view.backgroundColor = [UIColor yellowColor];

    

    //图片

    UIViewController* picVC = [UIViewController new];

    picVC.view.backgroundColor = [UIColor greenColor];

    

    //搞笑段子

    UIViewController* jokeVC = [UIViewController new];

    jokeVC.view.backgroundColor = [UIColor blueColor];

    

    childViewControllersArr = @[allVC,videoVC,soundVC,picVC,jokeVC];

}

#pragma mark - <SGPageTitleViewDelegate>

//滚动标题视图的代理方法

- (void)pageTitleView:(SGPageTitleView *)pageTitleView selectedIndex:(NSInteger)selectedIndex{

    //内容视图滚动

    [pageContentView setPageCententViewCurrentIndex:selectedIndex];

}

#pragma mark - <SGPageContentViewDelegate>

//滚动内容视图的代理方法

- (void)pageContentView:(SGPageContentView *)pageContentView progress:(CGFloat)progress originalIndex:(NSInteger)originalIndex targetIndex:(NSInteger)targetIndex{

    //标题视图滚动

    [pageTitleView setPageTitleViewWithProgress:progress originalIndex:originalIndex targetIndex:targetIndex];

}

@end



猜你喜欢

转载自blog.csdn.net/Alexander_Wei/article/details/78543410