XZTabBarCtrl 0.0.1

XZTabBarCtrl 0.0.1

xuzhi4972569 维护。



  • 作者:
  • kizy

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;

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

代理:

@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