如何创建自定义标签栏...在标签栏中添加自定义图像(无xib更改)

时间:2011-01-17 05:37:17

标签: iphone uitabbar

我在该标签栏中有一个应用程序是自定义的,并且所有图像都是不同的颜色......

如何创建不同颜色的tabbar以及不同的图像..这个标签栏有导航视图。

1 个答案:

答案 0 :(得分:7)

我得到了答案......

h文件代码......

@interface CustomTabBarController : UITabBarController 
{

}
@end


@interface AroundParisAppDelegate : NSObject <UIApplicationDelegate,UITabBarControllerDelegate> {
 UIImageView *imgTab ,*imghome ,*imgQuiz,*imgtTW, *imgGuest;
IBOutlet CustomTabBarController *tabBarController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic,retain) IBOutlet CustomTabBarController *tabBarController;
-(void)tabBarControllerView;
@end

m文件中的

:---

@synthesize tabBarController;


-(void)tabBarControllerView
{
    tabBarController = [[UITabBarController alloc] init];
    tabBarController.delegate = self;

    Home *firstTabController =[[Home alloc]initWithNibName:@"Home" bundle:nil];

    //-----second Tab   -----//

    quiz *secondTabController = [[quiz alloc]initWithNibName:@"quiz" bundle:nil];


    //------3rd tab--//
    tw *thirdControllerMap = [[tw alloc] initWithNibName:@"tw" bundle:nil];

    //-----4th tab bar--------//
    guest *fourthTabController = [[guest alloc] initWithNibName:@"guest" bundle:nil];


    tabBarController.viewControllers = [NSArray arrayWithObjects:firstTabController, secondTabController,thirdControllerMap,fourthTabController, nil];

    UINavigationController *objnavifirst=[[UINavigationController alloc] initWithRootViewController:firstTabController];
    UINavigationController *objnavisecond=[[UINavigationController alloc] initWithRootViewController:secondTabController];
    UINavigationController *objnavithird=[[UINavigationController alloc] initWithRootViewController:thirdControllerMap];
    UINavigationController *objnavifourth=[[UINavigationController alloc] initWithRootViewController:fourthTabController];

    NSMutableArray *MainNavArray =[[NSMutableArray alloc] init];
    objnavifirst.navigationBarHidden=YES;
    objnavisecond.navigationBarHidden=YES;
    objnavithird.navigationBarHidden=YES;
    objnavifourth.navigationBarHidden=YES;

    [MainNavArray  addObject:objnavifirst];
    [MainNavArray  addObject:objnavisecond];
    [MainNavArray  addObject:objnavithird];
    [MainNavArray  addObject:objnavifourth];

    tabBarController.viewControllers =MainNavArray; 
    [window addSubview:tabBarController.view];
    [window makeKeyAndVisible]; 

    imgTab = [[UIImageView alloc]initWithFrame:CGRectMake(0,0,320.0,50)];
    imgTab.image=[UIImage imageNamed:@"Bottom-bar.png"];
    tabBarController.tabBar.tag=10;
    [tabBarController.tabBar addSubview:imgTab];

    imghome=[[UIImageView alloc]initWithFrame:CGRectMake(2.0,00.0,76.0,49.0)];
    imghome.image=[UIImage imageNamed:@"home-hover.png"];
    [imgTab addSubview:imghome];

    imgQuiz=[[UIImageView alloc]initWithFrame:CGRectMake(82.0,00.0,76.0,49.0)];
    imgQuiz.image=[UIImage imageNamed:@"quiz.png"];
    [imgTab addSubview:imgQuiz];

    imgtTW=[[UIImageView alloc]initWithFrame:CGRectMake(164.0,00.0,76.0,49.0)];
    imgtTW.image=[UIImage imageNamed:@"twitter.png"];
    [imgTab addSubview:imgtTW];

    imgGuest=[[UIImageView alloc]initWithFrame:CGRectMake(244.0,00.0,76.0,49.0)];
    imgGuest.image=[UIImage imageNamed:@"guest.png"];
    [imgTab addSubview:imgGuest];

    tabBarController.view.hidden = NO;
    tabBarController.selectedIndex = 1;
}


- (void)tabBarController:(UITabBarController *)tabBarControllers didSelectViewController:(UIViewController *)viewController  
{

    NSLog(@"%i",tabBarControllers.selectedIndex);
    if (tabBarControllers.selectedIndex == 0)
    {

        imghome.image=[UIImage imageNamed:@"home-hover.png"];
        imgQuiz.image=[UIImage imageNamed:@"quiz.png"];
        imgtTW.image=[UIImage imageNamed:@"twitter.png"];
        imgGuest.image=[UIImage imageNamed:@"guest.png"];

    }
    else if (tabBarControllers.selectedIndex == 1)
    {

        imghome.image=[UIImage imageNamed:@"home.png"];
        imgQuiz.image=[UIImage imageNamed:@"quiz-hover.png"];
        imgtTW.image=[UIImage imageNamed:@"twitter.png"];
        imgGuest.image=[UIImage imageNamed:@"guest.png"];

    }
    else if (tabBarControllers.selectedIndex == 2)
    {

        imghome.image=[UIImage imageNamed:@"home.png"];
        imgQuiz.image=[UIImage imageNamed:@"quiz.png"];
        imgtTW.image=[UIImage imageNamed:@"twitter-hover.png"];
        imgGuest.image=[UIImage imageNamed:@"guest.png"];

    }
    else if (tabBarControllers.selectedIndex == 3)
    {

        imghome.image=[UIImage imageNamed:@"home.png"];
        imgQuiz.image=[UIImage imageNamed:@"quiz.png"];
        imgtTW.image=[UIImage imageNamed:@"twitter.png"];
        imgGuest.image=[UIImage imageNamed:@"guest-hover.png"];

    }



}

这是添加标签栏的完整示例