YVTopBarController

安装
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;