Reputation: 10984
i created TAb bar programatically in this manner
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];
What i want to accomplish is, i want to assign images to tab bar, firstly i tried on first 2 tabs, is showing a blue block instead of image. secondly, when we create tab bar through Interface builder, there are custom tab bar item, like, contacts, search, bookmark ,compose etc.
so, if i want to assign contacts or search image to my tab bar items,which looks like the one in IB, how can i do it??
regards
Upvotes: 2
Views: 8753
Reputation: 39374
Try something like this
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];
Upvotes: 15