2012-10-20 40 views
0

我正在开发一个iphone应用程序,它在每个选项卡中都有一个带有UINavigationControllers的主视图控制器(UITabBarController)。问题是我无法更改TabBarItem的数据(标题和图像)。在UITabBarController中设置UINavigationController的UITabBarItem

这是我如何加载viewcontrollers:

AroundViewController *aroundViewController = [[AroundViewController alloc] init]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:aroundViewController]; 
[[navController navigationBar] setTintColor:[UIColor grayColor]]; 

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

NSArray *viewControllers = [NSArray arrayWithObjects:navController, nil]; 
[tabBarController setViewControllers:viewControllers]; 

[self presentViewController:tabBarController animated:YES completion:nil]; 

我试图设置在aroundviewcontroller的init的tabbaritem,但我没有成功。 我读,一个解决办法是,在init,

[self setTitle:@"whatever"]; 

这个工作,但我无法改变形象。

在此先感谢。

回答

0

我找到了解决办法。 在viewWillAppear中我把:

[[[self navigationController] tabBarItem] setTitle:@"HELLO"]; 

工程。

1

使用视图控制器的tabBarItem实例直接访问标签栏项目!

[self.tabBarItem ....] 

[self.tabBarItem setImage: ...] 
[self.tabBarItem setTitle: ...] 

编辑:

HM,然后尝试在你的init或viewWillAppear中方法如下:

UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"YourTitle" image:[UIImage imageNamed:@"YourImage.png"] tag:9]; 
    self.tabBarItem = tabBarItem; 
    [tabBarItem release]; 
+0

我在aroundviewcontroller的init [自tabBarItem]的setTitle:@ “CERCA”]尝试和没有工作 – Juanjo

+0

但是[个体经营的setTitle :@“Cerca”]的作品,但我不能把这个图像 – Juanjo

+1

再次嗨!查看编辑的答案。 –

1

在设置UIViewControllers为的UITabBarController你可以这样做:

[navController.tabBarItem setImage:[UIImage imageNamed:@"MY-IMAGE"]]; 
[navController setTitle:@"MY-TITLE"]; 

NSArray *viewControllers = [NSArray arrayWithObjects:navController, nil]; 
[tabBarController setViewControllers:viewControllers]; 
相关问题