XZTabBarCtrl
这是带有顶部工具栏的控制器,支持圆形小红点、数字小红点、多种图文样式,采用与APPLE官方控件-UITabBarViewController相同的代理设计模式,使用简单。
作者:kizy
QQ:358033194
案例使用教程
案例
如何使用 XZTabBarCtrl
- 手动引用:
- 将
XZTabBarCtrl
文件夹下的所有文件拖到您的项目中
(将XZTabBarCtrl
文件夹及子文件拉到您的项目中) - 在子控制器中引用主文件:
#import "XZTabBar.h"
(在子控制器中引用头文件XZTabBar.h
)
- 将
initialize:与 UITabBarViewController 相同(初始化:与 UITabBarViewController)
UIViewController *ctrl1 = [[UIViewController alloc] init]; UIViewController *ctrl2 = [[OneViewCtrl alloc] init]; UIViewController *ctrl3 = [[RedViewCtrl alloc] init]; XZTabBarCtrl *tabBarCtrl = [[XZTabBarCtrl alloc] init]; //将子控制器加入childVCs,用法类似UITabBarViewController的viewControllers tabBarCtrl.childVCs = @[ctrl1, ctrl2, ctrl3];//为顶部ToolBar添加需要显示的标题
tabBarCtrl.toolBarTitles = @[@"第一个Item", @"第二个Item", @"第三个Item"]; //设置代理 tabBarCtrl.delegate = self; //为顶部ToolBar设置显示样式,更多样式设置请看属性 tabBarCtrl.itemType = ToolBarItemType_leftToRight; //ToolBarItemType_default(默认样式)、ToolBarItemType_leftToRight(图文左右排列)、ToolBarItemType_topToBottom(图文上下排列) tabBarCtrl.toolBarImages = @[@"job_push_icon_blue", @"job_push_icon_blue", @"job_push_icon_blue"];//设置图片数组 tabBarCtrl.xzToolBarColor = [UIColor whiteColor]; //设置背景色
子控制器获取对应的工具栏项
- 在子控制器中引用主文件:
#import "XZTabBar.h"
(在子控制器中引用头文件XZTabBar.h
) - 显示小红点:
self.toolBarItem.badgeView.hidden = NO;
- 显示6个未读数字:
self.toolBarItem.badgeVal = @"6";
XZTabBarCtrl的属性:
@interface XZTabBarCtrl : UIViewController
// 代理</
code> @property (nonatomic, weak) id delegate;
// @decription toolBarItem's title: 存放自定义tooleBar的标题数组 // @warning 该属性可为空,为空表示不创建tooleBar
@property (nonatomic, copy) NSArray *toolBarTitles;
// @decription toolBarItem's image: 存放自定义tooleBar的图片数组 // @warning 该属性可为空,如需赋值,count大小需与toolBarTitles一致
@property (nonatomic, copy) NSArray *toolBarImages;
// @decription toolBar's height: 设置toolBar的高度,默认高度为49.0f
@property (nonatomic, assign) CGFloat toolBarHeight;
// @decription 自定义的toolBar // @warning toolBar整个机制类似UITabBarController的tabBar:一个XZTabBarCtrl只有一个customeToolBar;每个子控制器拥有独立的ToolBarItem,可支持小红点、标题更改 etc, 子控制器获取该tooleBarItem需要引用文件"XZTabBar.h"
@property (nonatomic, weak) UIView *customToolBar;
@property (nonatomic, assign) ToolBarItemType itemType;
// @decription toolBarItem显示样式 // ToolBarItemType_default, //默认显示系统正常排列按钮 // ToolBarItemType_normalImgText, //左右图文按钮 // ToolBarItemType_unnormalImgText, //上下图文按钮
// @decription 控制toolBar的背景颜色,default is blackColor
@property (nonatomic, strong) UIColor *xzToolBarColor;
// @decription 控制toolItem的文字正常显示颜色,default is grayColor
@property (nonatomic, strong) UIColor *xzTitleColor;
// @decription 控制被选中toolItem的文字显示颜色,default is whiteColor
@property (nonatomic, strong) UIColor *xzTitleSelectedColor;
// @decription 存放子控制器的数组 // @warning 该属性不能为空,必须赋值
@property (nonatomic, copy) NSMutableArray<__kindof UIViewController *> *childVCs;
// @decription 当前显示的控制器的Index // @warning 该属性用法类似UITabBarController的selectedIndex属性
@property (nonatomic, assign) NSInteger selectedIndex;
代理:@protocol XZTabBarCtrlDelegate
//点击时调用,返回即将显示控制器对应的toolBarItem
- (void)xzTabBarCtrl:(XZTabBarCtrl *)tabbarCtrl selectedItem:(ToolBarItem *)toolBarItem;//点击前调用,控制是否跳转
- (BOOL)xzTabBarCtrl:(XZTabBarCtrl *)tabbarCtrl shouldSelectViewController:(UIViewController *)viewController;//点击时调用,返回即将显示控制器
- (void)xzTabBarCtrl:(XZTabBarCtrl *)tabbarCtrl didSelectViewController:(UIViewController *)viewController;
@end