Skip to content

mrkizy/XZTabBarCtrl

Repository files navigation

XZTabBarCtrl

这是带有顶部toolBar的控制器,支持圆形小红点、数字小红点、多种图文样式,与APPLE官方控件-UITabBarViewController一样的代理设计模式,简单易用。

作者:kizy

QQ:358033194

案例
使用教程

案例

How to use XZTabBarCtrl(如何使用XZTabBarCtrl)

  • Manual import:(手动引用)
    • Drag All files in the XZTabBarCtrlfolder to project
      (将XZTabBarCtrl文件夹及子文件拉到你的项目中)
    • Import the main file:#import "XZTabBar.h"
      (引用头文件XZTabBar.h)

initialize:the same to 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]; //设置背景色

子控制器获取对应toolBarItem

  • Import the main file:#import "XZTabBar.h" in childViewController
    (子控制器中引用头文件XZTabBar.h)
  • 显示小红点:self.toolBarItem.budgeView.hidden = NO;
  • 显示6个未读数字:self.toolBarItem.bageVal = @"6";

properties of 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;

// @decription toolBarItem显示样式 // ToolBarItemType_default, //默认显示系统正常排列按钮 // ToolBarItemType_normalImgText, //左右图文按钮 // ToolBarItemType_unnormalImgText, //上下图文按钮 @property (nonatomic, assign) ToolBarItemType itemType;

// @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;

delegate:(代理)

@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

About

这是带有顶部toolBar的控制器

Resources

License

Stars

Watchers

Forks

Packages

No packages published