# TLTabBarController
**Repository Path**: xu_pangpangpang/TLTabBarController
## Basic Information
- **Project Name**: TLTabBarController
- **Description**: No description available
- **Primary Language**: Objective-C
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-12-10
- **Last Updated**: 2021-12-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# TLTabBarController
全能tabBarController,实现大多常用功能,如红点、仅图片、突出的tabBarItem、双击事件等。
基于系统原生控件封装,完美支持“系统设置-辅助功能-按钮形状”模式,切换零成本。
## 功能
### 1、气泡支持红点(如微信)
```
// 设置气泡颜色
[vc.tabBarItem setBadgeColor:[UIColor redColor]];
// 显示气泡,空字符串显示为小圆点
[vc.tabBarItem setBadgeValue:@"new"];
[vc.tabBarItem setBadgeValue:@""];
// 隐藏气泡
[vc.tabBarItem setBadgeValue:nil];
```
### 2、tabBarItem仅图片
```
不设置vc.tabBarItem.title时,仅显示图片,且自动居中
```
### 3、凸出的tabBarItem(如转转发布按钮,支持任意个)
```
UITabBarItem *addItem = [[UITabBarItem alloc] initWithTitle:@"发布" image:[UIImage imageNamed:@"publish"] selectedImage:[UIImage imageNamed:@"publish"]];
// 使用此方法添加plusItem,可添加人一个,actionBlock为点击事件
[tabBarController addPlusItemWithSystemTabBarItem:addItem actionBlock:^{
[SVProgressHUD showInfoWithStatus:@"发布"];
}];
```
### 4、自定义切换事件(如转转切换到消息tab时,调登录)
```
TLDemoTableViewController *vc4 = [[TLDemoTableViewController alloc] init];
UINavigationController *navC4 = [[UINavigationController alloc] initWithRootViewController:vc4];
// actionBlock为点击事件,它返回的BOOL值决定是否可以跳转
[tabBarController addChildViewController:navC4 actionBlock:^BOOL{
BOOL canJump = ... // 能否跳转的判断逻辑
return canJump;
}];
```
### 5、双击、单击事件(如微博,双击tab刷新)
```
在vc中实现TLTabBarControllerProtocol协议中的tabBarItemDidDoubleClick方法,即可接收到双击事件;单击类似。
```
### 6、tabBar顶端线颜色设置、隐藏
```
// 颜色设置
[vc.tabBarController.tabBar setShadowColor:[UIColor magentaColor]];
// 隐藏
[vc.tabBarController.tabBar setHiddenShadow:YES];
```
### 7、横屏支持
## 如何使用
* 1、将TLTabBarController文件夹导入项目,或使用Pod
```
pod
```
* 2、修改如下一行代码即可
```
// UITabBarController *tabBarController = [[UITabBarController alloc] init];
TLTabBarController *tabBarController = [[TLTabBarController alloc] init];
```