Programmatically Setting UITabBar Titles

不想你离开。 提交于 2019-12-01 11:53:56

问题


i had programetically add the tabbar as shown below:-

FirstViewController *obj_FirstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; SecondViewController *obj_SecondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; ThirdViewController *obj_ThirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];

navigation1 = [[UINavigationController alloc] initWithRootViewController:obj_FirstViewController];  
navigation2 = [[UINavigationController alloc] initWithRootViewController:obj_SecondViewController];
navigation3 = [[UINavigationController alloc] initWithRootViewController:obj_ThirdViewController];

MainTabBar = [[UITabBarController alloc] init];
MainTabBar.delegate=self;
[MainTabBar setViewControllers:[NSArray arrayWithObjects:navigation1,navigation2,navigation3,nil]];
MainTabBar.view.frame=self.view.frame;
MainTabBar.selectedIndex=0;
[self.view addSubview:MainTabBar.view]

By writing this in (void)viewDidLoad i got the 3 tab in my viewcontroller. But the problem is i want to set the name of the tab as 1)Home 2)Favorites 3)About us

I had tried by writing the below code:

- 1)obj_FirstViewController.tabBarItem.title=@"Home"; 2)self.title = @"My View Controller";

But this does not work. Can anyone please help me how to do this programtically. Where to write the line so that i get this 3 name in my tabbar


回答1:


Try this way...

NSMutableArray *controllers = [[NSMutableArray alloc] init];
FirstViewController *obj_FirstViewController = [[FirstViewController alloc] init];
                [obj_FirstViewController setTitle:@"first"];
                UITabBarItem *item = [[[UITabBarItem alloc] setTabBarItem:          [[[UITabBarItem alloc] initWithTitle: @"First") image:[UIImage imageNamed:@"first.png"] tag:2] autorelease]];
                [obj_FirstViewController setTabBarItem:item];
                [controllers addObject:obj_FirstViewController];
                [obj_FirstViewController release];



回答2:


Pls Try this

FirstViewController *obj_FirstViewController = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil]; 
SecondViewController *obj_SecondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
ThirdViewController *obj_ThirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];

navigation1 = [[UINavigationController alloc] initWithRootViewController:obj_FirstViewController];  
navigation2 = [[UINavigationController alloc] initWithRootViewController:obj_SecondViewController];
navigation3 = [[UINavigationController alloc] initWithRootViewController:obj_ThirdViewController];

navigation1.title=@"Home";
navigation2.title=@"Second";

 MainTabBar = [[UITabBarController alloc] init];
MainTabBar.delegate=self;
[MainTabBar setViewControllers:[NSArray   arrayWithObjects:navigation1,navigation2,navigation3,nil]];
 MainTabBar.view.frame=self.view.frame;
 MainTabBar.selectedIndex=0;
[self.view addSubview:MainTabBar.view]


来源:https://stackoverflow.com/questions/6056354/programmatically-setting-uitabbar-titles

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!