自定义TabBarButton

.h

-(void)addTabBarButtonWithItem:(UITabBarItem *)itme



.m

#import "LJFTabbar.h"

@implementation LJFTabbar


-(void)addTabBarButtonWithItem:(UITabBarItem *)itme{

    //1.创建按钮

    UIButton *button = [[UIButtonalloc]init];

    [selfaddSubview:button];

    [button setTitle:itme.titleforState:UIControlStateNormal];

    [button setImage:itme.imageforState:UIControlStateNormal];

    [button setImage:itme.selectedImageforState:UIControlStateSelected];

    

}

-(void)layoutSubviews{

    [superlayoutSubviews];

    CGFloat buttonW =self.frame.size.width/self.subviews.count ;

    CGFloat buttonH =self.frame.size.height;

    CGFloat buttonY =0 ;


    for (int index =0; index <self.subviews.count; index++) {

        //1.取出按钮

        UIButton *button =self.subviews[index];

        

        //2. 设置按钮的frame

       

        CGFloat buttonX = index * buttonW;


        button.frame =CGRectMake(buttonX, buttonY, buttonW, buttonH) ;

    }

}

自定义tabber

-(void)setupTabbar{

    LJFTabbar *costomTabbar = [[LJFTabbaralloc]init];

    costomTabbar.backgroundColor = [UIColorredColor];

    costomTabbar.frame =self.tabBar.bounds;

    //[costomTabbar addTabBarButtonWithTitle:@"" imagename:@"" selectedImageName:@""];

    [self.tabBaraddSubview:costomTabbar];

    self.costomTabbar = costomTabbar;

}


/**

 * 初始化子控制器childVc

 * title 标题

 * 图标

 * 选中的图标

 *

 ***/


-(void)setupChildViewController:(UIViewController *)childVc title:(NSString *)title imagename:(NSString *)imageName selectedImageName:(NSString *)selectedImageName

{

    //设置控制器属性

    childVc.title = title;

    

    //把对系统的图片返回进行封装

    childVc.tabBarItem.image = [UIImageimageWithName:imageName];

//    childVc.tabBarItem.image =  [UIImage imageNamed:imageName];

//    childVc.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImageName]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    childVc.tabBarItem.selectedImage = [[UIImageimageWithName:selectedImageName]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];


    //包装导航控制器

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

    [selfaddChildViewController:nav];

    

关键:

    [self.costomTabbaraddTabBarButtonWithItem:childVc.tabBarItem];

}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值