Iphone 以编程方式创建选项卡栏

Iphone 以编程方式创建选项卡栏,iphone,Iphone,我以这种方式编程创建了选项卡栏 UITabBarController *tabBarController = [[UITabBarController alloc] init]; contacts *vc1 = [[contacts alloc]init]; vc1.tabBarItem.image=[UIImage imageNamed:@"contacts.png"]; search* vc2 = [[search alloc] init]; vc

我以这种方式编程创建了选项卡栏

UITabBarController  *tabBarController = [[UITabBarController alloc] init];


    contacts *vc1 = [[contacts alloc]init];

    vc1.tabBarItem.image=[UIImage imageNamed:@"contacts.png"];

    search* vc2 = [[search alloc] init];

    vc2.tabBarItem.image=[UIImage imageNamed:@"search.png"];

    a1* vc3 = [[a1 alloc] init];

    a2 *vc4 = [[a2 alloc] init];

    a3 *vc5 = [[a3 alloc] init];


    NSArray* controllers = [NSArray arrayWithObjects:vc1, vc2,vc3,vc4,vc5, nil];
    tabBarController.viewControllers = controllers;

    [self.view addSubview:detailNavCont];
    // Add the tab bar controller's current view as a subview of the window
    [self.view addSubview:tabBarController.view];
我想完成的是,我想将图像分配到选项卡栏,首先我尝试了前两个选项卡,显示的是蓝色块而不是图像。 其次,当我们通过Interface builder创建选项卡栏时,有自定义的选项卡栏项,如联系人、搜索、书签、组合等

所以,如果我想将联系人或搜索图像分配给我的选项卡栏项目(看起来像IB中的项目),我该怎么做


请试试这样的东西

tabBars = [[UITabBarController alloc] init];
NSMutableArray *localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:4];

HomeTabViewController *ptr_homeTab;
ptr_homeTab = [[HomeTabViewController alloc]initWithNibName:@"HomeTabViewController" bundle:nil];
UINavigationController *homeNavBar=[[UINavigationController alloc]initWithRootViewController:ptr_homeTab];
homeNavBar.tabBarItem.title=@"Home";
homeNavBar.tabBarItem.image=[UIImage imageNamed:@"home.png"];
[ptr_homeTab release];

myHospitalviewController=[[MyHospitalViewController alloc]initWithNibName:@"MyHospitalViewController" bundle:nil];
UINavigationController *myHospitalNavBar=[[UINavigationController alloc]initWithRootViewController:myHospitalviewController];
myHospitalNavBar.title=@"My Hospital";
myHospitalNavBar.tabBarItem.image=[UIImage imageNamed:@"myhospital.png"];
[myHospitalviewController release];

viewController = [[TreatMentiViewController alloc]initWithNibName:@"TreatMentiViewController" bundle:nil];
UINavigationController *hospitalNavBar=[[UINavigationController alloc]initWithRootViewController:viewController];
hospitalNavBar.tabBarItem.title=@"Hospital";
hospitalNavBar.tabBarItem.image=[UIImage imageNamed:@"hospital.png"];
[viewController release];

PersonalMedicineViewController *ptr_PersonalMedicine = [[PersonalMedicineViewController alloc] initWithNibName:@"PersonalMedicineViewController" bundle:nil];
UINavigationController *managerNavBar=[[UINavigationController alloc]initWithRootViewController:ptr_PersonalMedicine];
managerNavBar.tabBarItem.title=@"Manager";
managerNavBar.tabBarItem.image=[UIImage imageNamed:@"manager.png"];
[ptr_PersonalMedicine release];

[localViewControllersArray addObject:homeNavBar];
[localViewControllersArray addObject:hospitalNavBar];
[localViewControllersArray addObject:myHospitalNavBar];
[localViewControllersArray addObject:managerNavBar];

[homeNavBar release];
[hospitalNavBar release];
[myHospitalNavBar release];
[managerNavBar release];

tabBars.viewControllers = localViewControllersArray;
tabBars.view.autoresizingMask==(UIViewAutoresizingFlexibleHeight);

[localViewControllersArray release];

[window addSubview:tabBars.view];

你的图像需要有一个合适的遮罩。您应该另存为png。

@warrrior…dat非常棒。但我没有弄清楚,为什么我的图像显示为蓝色块?我的图像仅为.png frmat。请检查您的图像是否具有透明背景。