首先把TabBar作为根试图
#import "CustomTabBarController.h"
#import "FirstViewController.h"
#import "SecondViewController.h"
#import "ThreeViewController.h"
#import "FourViewController.h"
@interface CustomTabBarController ()
{
UIButton * _btn;
UILabel * _label;
}
@end
@implementation CustomTabBarController
- (void)viewDidLoad {
[super viewDidLoad];
[self createVC];
[self createTabBar];
}
-(void)createVC
{
FirstViewController * firstVC=[[FirstViewController alloc]init];
SecondViewController * secondVC=[[SecondViewController alloc]init];
ThreeViewController * threeVC=[[ThreeViewController alloc]init];
FourViewController * fourVC=[[FourViewController alloc]init];
UINavigationController * hnc=[[UINavigationController alloc]initWithRootViewController:firstVC];
hnc.title=@"主页";
self.viewControllers=@[hnc,secondVC,threeVC,fourVC];
}
-(void)createTabBar
{
UIImageView * iv=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"tabbg"]];
iv.userInteractionEnabled=YES;
[self.tabBar addSubview:iv];
NSArray * titleArr=@[@"首页",@"附近的人",@"附近",@"设置"];
for (int i=0; i<4; i++) {
UIButton * btn=[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(25+80*i, 3, 30, 30);
[btn setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"tab_%d",i]] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"tab_c%d",i]] forState:UIControlStateSelected];
[iv addSubview:btn];
UILabel * label=[[UILabel alloc]initWithFrame:CGRectMake(-10, 30, 50, 15)];
label.font=[UIFont systemFontOfSize:10];
label.textAlignment = NSTextAlignmentCenter;
label.textColor = [UIColor darkGrayColor];
label.text = titleArr[i];
[btn addSubview:label];
btn.tag=100+i;
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
if (!i) {
btn.selected=YES;
label.textColor=[UIColor orangeColor];
_btn=btn;
_label=label;
}
}
}
-(void)btnClick:(UIButton *)btn
{
if (btn==_btn) {
return;
}
_btn.selected=NO;
_label.textColor=[UIColor darkGrayColor];
btn.selected=YES;
UILabel * label=(id)[btn.subviews lastObject];
label.textColor=[UIColor orangeColor];
_btn=btn;
_label=label;
self.selectedIndex=btn.tag-100;
}