自定义UITabBar,自定义tabbar中的Button

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];

    

    tabbarVC = [[UITabBarController alloc]init];

//    [self.window setRootViewController:tabbarVC];

    [self.window setRootViewController:tabbarVC];

    [self addCenternTabBarButton];

    

    FirstNavViewController *first = [[FirstNavViewController alloc]init];

    SecondNavViewController *second = [[SecondNavViewController alloc]init];

    FourthViewController *fourth = [[FourthViewController alloc]init];

    FifthViewController *fifth = [[FifthViewController alloc]init];

//    dsViewController *third = [[dsViewController alloc]init];

    

    

    tabbarVC.viewControllers  = [NSArray arrayWithObjects:first,second,fourth,fifth,nil];

    

    

    

    UITabBar *tabBar = tabbarVC.tabBar;

    

    UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];

    UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];

    UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:2];

    UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:3];

    


    

    IOS7中已弃用

    //    [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@""] withFinishedUnselectedImage:[UIImage imageNamed:@""]];

    

    

    

    tabBarItem1.image = [UIImage imageNamed:@"dish_circle_tab_icon_selected.png"];

    tabBarItem1.selectedImage = [[UIImage imageNamed:@"dish_circle_tab_icon_selected.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    

    UIImage *selectImg = [UIImage imageNamed:@"discovery_tab_icon_selected.png"];

    

    tabBarItem2.selectedImage = [selectImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    tabBarItem2.image = selectImg;

    

    //    tabBarItem3.selectedImage = [selectImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    //    tabBarItem3.image = [UIImage imageNamed:@"discovery_tab_icon_selected.png"];

    

    

    tabBarItem4.image = [UIImage imageNamed:@"friend_tab_icon_selected.png"];

    tabBarItem4.selectedImage = [[UIImage imageNamed:@"friend_tab_icon_selected.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    

    UIImage *tabbarImg5 = [UIImage imageNamed:@"my_tab_icon_selected.png"];

    tabBarItem5.image = tabbarImg5;

    

    tabBarItem5.selectedImage = [tabbarImg5 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    

    

    

    UIImage *tabBarBackgroundImg = [UIImage imageNamed:@"tabbar_bg.jpg"];

    [[UITabBar appearance]setBackgroundImage:tabBarBackgroundImg];

    

    tabBar.translucent = YES;

    

    //tabbar Image偏移量

    

    [tabBarItem1 setImageInsets:UIEdgeInsetsMake(5.0, -10.0, -5.010.0)];

    [tabBarItem2 setImageInsets:UIEdgeInsetsMake(5.0, -20.0, -5.020.0)];

    [tabBarItem4 setImageInsets:UIEdgeInsetsMake(5.020.0, -5.0, -20.0)];

    [tabBarItem5 setImageInsets:UIEdgeInsetsMake(5.0, 0.0, -5.0, 0.0)];

    

    return YES;

}


-(void)addCenternTabBarButton{

    

    


    

    //NSLog(@"addCenternTabBarButton");

    //创建一个自定义button

    UIButton *centerButton = [UIButton buttonWithType:UIButtonTypeCustom];

    //初始化button的背景图片

    UIImage *centerButtonImg = [UIImage imageNamed:@"camera_tab_cion.png"];

    //设置buttonframe

    centerButton.frame = CGRectMake(00, centerButtonImg.size.width, centerButtonImg.size.height);

    //设置button的背景图片

    [centerButton setBackgroundImage:centerButtonImg forState:UIControlStateNormal];

    //设置buttonaction

    [centerButton addTarget:self action:@selector(centerOnclick:)forControlEvents:UIControlEventTouchUpInside];

    

    CGFloat imageHeight = centerButtonImg.size.height;

    CGFloat barHeight = tabbarVC.tabBar.frame.size.height;

    //NSLog(@"imageHeight=%2.f,barHeight=%.2f",imageHeight,barHeight);

    CGFloat delta = imageHeight-barHeight;

    //NSLog(@"delta=%.2f",delta);

    

    //设置centerButton的中心位置

    if(delta<=0){//如果图片高度小于等于TabBar高度

        centerButton.center = tabbarVC.tabBar.center;

    }else{//如果图片高度大于TabBar高度

        CGPoint center = tabbarVC.tabBar.center;

        center.y = center.y - delta/2.0;

        centerButton.center = center;

    }

    //centerButton加入到tabBarController

    [tabbarVC.view addSubview:centerButton];

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值