YVTopBarController 1.1.8

YVTopBarController 1.1.8

‘YiVon’ 维护。



  • 作者
  • Yi Von

YVTopBarController

quickLook

安装

1.cocoapod

pod 'YVTopBarController', '~> 1.1.8'

2.将文件添加到您的项目中

更新

  • 2018.08.28 第一版 - v0.0.1

  • 2018.08.29 自定义标题颜色、标题字体、阴影字体 v1.0

  • 2018.08.29 解耦宏定义

  • 2019.05.27 修复错误

  • 2019.06.22 修复错误 v1.1.4

  • 2019.06.22 修复错误 v1.1.5

  • 2019.07.06 修复错误 v1.1.8

使用方法

创建 UIViewController 的子类

引入 "UIViewController+YVTopBarController.h"

设置 viewControllers

- (void)addControllers{
    NSMutableArray *viewControllers = [NSMutableArray array];
    NSMutableArray *array = [NSMutableArray arrayWithObjects:[UIColor redColor],[UIColor greenColor],[UIColor yellowColor], nil];
    for (NSInteger i=0; i<array.count; i++) {
        UIViewController *viewController = [UIViewController new];
        viewController.title = [NSString stringWithFormat:@"页面%ld",(long)i];
        viewController.view.backgroundColor = array[i];
        [viewControllers addObject:viewController];
    }
    self.viewControllers = viewControllers;
}

注意事项

1.顶部条项文本等于子视图控制器标题,如果子视图控制器标题为 nil,则默认顶部条项文本为 nil

2.子视图控制器的视图布局应包含顶部条框架。

视图控制器变更事件

实现方法

- (void)didScrollToIndex:(NSInteger)index    

自定义顶部栏项

实现 YVTopBarDataSource

//topBar高度
- (CGFloat)heightForTopBar:(YVTopBar *)topBar;

//每个item的size
- (CGSize)topBar:(YVTopBar *)topBar SizeForIndex:(NSInteger)index;

//间隔
- (CGFloat)sepeWidthForTopBar:(YVTopBar *)topBar;

/*
***自定义item必须实现下面两个方法
*/

//自定义item的类名,方便collectionView注册
- (NSString *)reUsableItemClassNameForTopBar:(YVTopBar *)topBar;

//对reUsableItem填充数据、设置样式...
- (YVTopBarItem *)topBar:(YVTopBar *)topBar ReUsableItem:(YVTopBarItem *)reUsableItem TitleItemForIndex:(NSInteger)index;