UITabBar实现中间大按钮

来源:互联网 发布:淘宝便宜建盏是真的吗 编辑:程序博客网 时间:2024/04/23 23:12


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


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

UIViewController* vc = [UIViewControllernew];

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

[vcs addObject:nav];

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

nav.tabBarItem.selectedImage = [[UIImageimageNamed:@"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, [[UIColorcolorWithRed:247/255.0

                                                                green:247/255.0

                                                                 blue:247/255.0

                                                                alpha:1]CGColor]);

        CGContextFillRect(context, rect);

        UIImage *img =UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();

        

        [self.tabBarsetBackgroundImage:img];

    }


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

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

}



中间tabbar的icon

     


最后的效果:



0 0
原创粉丝点击