项目作者: saitjr

项目描述 :
彩色的TabBar,加平滑的切换动画
高级语言: Objective-C
项目地址: git://github.com/saitjr/STColorfulTabBar.git
创建时间: 2015-07-02T06:08:12Z
项目社区:https://github.com/saitjr/STColorfulTabBar

开源协议:

下载


TColorfulTabBar

彩色的TabBar,加平滑的切换动画(gif图看起来有点掉帧…)

设计图

效果展示

视图层级

这个效果的实现是通过重写TabBar,然后给TabBar添加了一个彩色view(colorView)实现的。

视图层级如下:

使用

UITabBarController中,将系统的UITabBar替换成TColorfulTabBar即可。(注:tabBarController.tabbar属性是readonly修饰的,所以要通过KVC来修改)

代码如下:

  1. TColorfulTabBar *tabBar = [[TColorfulTabBar alloc] initWithFrame:tabBarController.tabBar.frame];
  2. [tabBarController setValue:tabBar forKey:@"tabBar"];

自定义

Demo相关配置在TColorfulTabBar+Configuration这个类目当中,可以修改每个item的颜色与item的个数。

  1. // item的颜色(个数要和item的个数相同)
  2. - (NSArray *)itemColors;
  3. // item的个数
  4. - (NSInteger)itemCount;

技术支持

http://www.saitjr.com/ios/ios-colorful-tabbar-implement.html

可能出现的问题

因为当TColorfulTabBar加载到父视图上时,我让TColorfulTabBar响应了自己的代理方法,所以如果在UITabBarController中再次修改delegate,可能会导致TColorfulTabBar无法拿到下标。

如果没有修改代理,那有可能会导致UITabBarController中的UITabBarDelegate无效。

Swift版本

broccolii实现了Swift版本:https://github.com/broccolii/ColorFulTabBar/tree/master