UITabBar实现中间大按钮

原创 2016年08月31日 17:17:49


原理非常简单,把中间tab bart item的图设为一个大图就可以了。
缺点就是超出tab bar的部分是不能点击的。


//设置tab bar 中间item的图为大图标    

UIViewController* vc = [UIViewController new];

UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:vc];

[vcs addObject:nav];

nav.tabBarItem.image = [[UIImage imageNamed:@"jdstreetNew_up"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

nav.tabBarItem.selectedImage = [[UIImage imageNamed:@"jdstreetNew_up"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];


//隐藏tab bar顶部的分隔线。否则顶部的分隔线将压在中间大图标的上面。

{

    //设置tab bar的背景图后setShadowImage才有效。

    {

        CGRect rect = CGRectMake(0, 0, self.view.frame.size.width, 44);

        UIGraphicsBeginImageContext(rect.size);

        CGContextRef context = UIGraphicsGetCurrentContext();

        //CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);

        CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:247/255.0

                                                                 green:247/255.0

                                                                  blue:247/255.0

                                                                 alpha:1] CGColor]);

        CGContextFillRect(context, rect);

        UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        

        [self.tabBar setBackgroundImage:img];

    }


    //将tab bar顶部的分隔线设置为不可见。

[self.tabBar setShadowImage:[UIImage new]];

}



中间tabbar的icon

     


最后的效果:



ios定制中间突出的tabBar

先展示效果图: 这个tabBar纠结了我好久,最后通过查询资料各种百度谷歌终于找到一个比较符合我们需求的案例,下面展示出代码供各位参考 @interface BaseTabBarViewContr...
  • shan1991fei
  • shan1991fei
  • 2016年06月23日 14:57
  • 5021

实现Tabbar的中间按钮向上突出的两种方法

1.设置 UITabBarController //  初始化菜单栏     UITabBarController *tabC = [[UITabBarController alloc]init...
  • Boyqicheng
  • Boyqicheng
  • 2016年02月23日 15:02
  • 5918

ios自定义中间凸出 UITabBar,so easy……

IOS 自定义UITabBar ,中间按钮凸出 很多项目中都有中间凸出的UI设计,这个不规则的设计才坑爹,必须要自定义。在安卓上 做这个也是坑,现在只说ios的实现。 示意图:  ...
  • sadsadaadsd
  • sadsadaadsd
  • 2016年12月04日 10:17
  • 2007

iOS tabbar中间添加按钮

如何在系统自带的tabbar上添加一个按钮?其实实现过程很简单。比如你的tabbar上本来有四个选项,然后在tabbar中间还添加一个自定义的按钮,总共就是五个按钮。实现的思路就是在初始化tabbar...
  • u010545480
  • u010545480
  • 2017年03月07日 15:19
  • 1431

iOS自定义tabbar,中间按钮凸起

  • 2016年02月29日 15:36
  • 216KB
  • 下载

自定义UITabbarController及向UITabBar中添加自定义按钮

在某些项目的初期我们经常会选择使用UITabbarController或者是UINavigationController或者是两者的结合,经常需要自定义自己需要的类,本文讲述了自定义UITabbarC...
  • wu948327362
  • wu948327362
  • 2016年05月15日 21:12
  • 4341

ios自定义中间凸出 UITabBar,so easy……

IOS 自定义UITabBar ,中间按钮凸出 很多项目中都有中间凸出的UI设计,这个不规则的设计才坑爹,必须要自定义。在安卓上 做这个也是坑,现在只说ios的实现。 示意图:  ...
  • sadsadaadsd
  • sadsadaadsd
  • 2016年12月04日 10:17
  • 2007

UITabBar自定义方式三(中间有按钮)

1.新建类继承UITabBarController /** * 初始化所有的子控制器 */ - (void)setupAllChildViewControllers { // 1.首页 ...
  • gaojq_ios
  • gaojq_ios
  • 2015年07月21日 23:31
  • 2553

实现Tabbar的中间按钮向上突出的两种方法

1.设置 UITabBarController //  初始化菜单栏     UITabBarController *tabC = [[UITabBarController alloc]init...
  • Boyqicheng
  • Boyqicheng
  • 2016年02月23日 15:02
  • 5918

自定义UITabBar--实现类似新浪微博中间的发送按钮

之前公司提出一个需求,让点击tabBar上中间的一个按钮然后发送一些内容,效果就像新浪微博中中间的发送按钮。可由于公司有其他的功能需求所以这个需求也一直没有真正地下达。最近看一个网上的视频教程,发现有...
  • u010105969
  • u010105969
  • 2016年09月30日 11:45
  • 621
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITabBar实现中间大按钮
举报原因:
原因补充:

(最多只允许输入30个字)