AKTabBarController 1.1.0

AKTabBarController 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

未知的拥有者维护。



  • 作者:
  • Ali Karagoz

AKTabBarController 是一个将自适应和可定制的标签栏用于 iOS。

功能

  • 竖屏和横屏模式标签栏。
  • 可设置标签栏高度。
  • 在推送时隐藏标签栏。
  • 设置标签栏最小高度以显示标题。
  • 在标签中隐藏标题。
  • 当标签栏高度太小时,标题不显示。
  • 选择和非选择状态只需要一个图像(样式通过 CoreGraphics 添加)。
  • 需要时调整图标大小,尤其是在横屏模式下。
  • 带有点缀图像交叉淡入动画的标签动画。
  • 支持预渲染图像(将不会应用光泽效果)。
  • 设置标签标题的字体。

预览

iPhone 竖屏

iPhone portrait

使用

安装

将依赖项添加到您的 Podfile

platform :ios

pod 'AKTabBarController'

运行 pod install 以安装依赖项。

接下来,导入头文件到您需要使用标签栏控制器的地方

#import "AKTabBarController.h"

创建和初始化标签栏

// Create and initialize the height of the tab bar to 50px.
_tabBarController = [[AKTabBarController alloc] initWithTabBarHeight:50];

// Adding the view controllers to manage.
[_tabBarController setViewControllers:@[[[FirstViewController alloc] init], [[SecondViewController alloc] init], [[ThirdViewController alloc] init], [[FourthViewController alloc] init]]]];  

设置标题和图像

(在每个视图控制器中)

// Setting the image of the tab.
- (NSString *)tabImageName
{
    return @"myImage";
}

// Setting the title of the tab.
- (NSString *)tabTitle
{
    return @"Tab";
}

访问当前的 AKTabViewController 实例

// Ensure to import AKTabController and the category for UIViewController
#import <AKTabBarController.h>
#import <AKTabBarController/UIViewController+AKTabBarController.h>

// It's now possible to access the current AKTabBarController instance.
- (void)viewDidLoad {
    [super viewDidLoad];

    [self.akTabBarController setTextColor:[UIColor redColor]];
}

注意:在运行 iOS < 5.0 的设备上,self.akTabBarController 返回 nil。

自定义

设置显示标题的最小高度

[_tabBarController setMinimumHeightToDisplayTitle:50];

隐藏标签标题

[_tabBarController setTabTitleIsHidden:NO];

在 UINavigationController 中推送时隐藏标签栏

当将视图控制器推入 UINavigationController 的视图控制器堆栈中时,可以隐藏标签栏。它的工作方式与原始的 UITabBarController 相同。

[viewController setHidesBottomBarWhenPushed:YES];

完整自定义示例

// Tab background Image
[_tabBarController setBackgroundImageName:@"noise-dark-gray.png"];
[_tabBarController setSelectedBackgroundImageName:@"noise-dark-blue.png"];

// Tabs top emboss Color
[_tabBarController setTabEdgeColor:[UIColor colorWithRed:0.2 green:0.2 blue:0.2 alpha:0.8]];

// Tabs colors settings
[_tabBarController setTabColors:@[[UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:0.0], [UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0]]]; // MAX 2 Colors
[_tabBarController setSelectedTabColors:@[[UIColor colorWithRed:0.7 green:0.7 blue:0.7 alpha:1.0], [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.0]]]; // MAX 2 Colors

// Tab stroke Color
[_tabBarController setTabStrokeColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0]];

// Icons color settings
[_tabBarController setIconColors:@[[UIColor colorWithRed:174.0/255.0 green:174.0/255.0 blue:174.0/255.0 alpha:1], [UIColor colorWithRed:228.0/255.0 green:228.0/255.0 blue:228.0/255.0 alpha:1]]]; // MAX 2 Colors
[_tabBarController setSelectedIconColors:@[[UIColor colorWithRed:174.0/255.0 green:174.0/255.0 blue:174.0/255.0 alpha:1], [UIColor colorWithRed:228.0/255.0 green:228.0/255.0 blue:228.0/255.0 alpha:1]]]; // MAX 2 Colors

// Text color
[_tabBarController setTextColor:[UIColor colorWithRed:157.0/255.0 green:157.0/255.0 blue:157.0/255.0 alpha:1.0]];
[_tabBarController setSelectedTextColor:[UIColor colorWithRed:228.0/255.0 green:228.0/255.0 blue:228.0/255.0 alpha:1.0]];

// Text font
[_tabBarController setTextFont:[UIFont fontWithName:@"Chalkduster" size:14]];

// Hide / Show glossy effect on tab icons
[_tabBarController setIconGlossyIsHidden:YES];

// Enable / Disable pre-rendered image mode
[_tabBarController setTabIconPreRendered:YES];

下查看自定义结果

iPhone portrait

更多信息请参阅 Xcode 示例项目。

要求

  • iOS >= 4.3
  • ARC
  • QuartzCore.framework

屏幕截图

iPhone 横屏

iPhone landscape

iPad 竖屏

iPhone portrait

iPad 横屏

iPad portrait

致谢

  • 本项目大量受到 Brian CollinsBCTabBarController(用于视图嵌套)的启发。
  • 示例项目中使用的图标由 Tomas Gajar (@tomasgajar) 设计。

联系方式

Ali Karagoz

许可

AKTabBarController 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。