2011-01-19 85 views
4

我已经设置了两个单独的UIViewControllers的UITabBarController。在init第二的UIViewController我设置了UITabBarItem以便它能够正确显示的标签:UITabBarItem标题被UIViewController标题覆盖?

UITabBarItem *tabBar = [self tabBarItem]; 
[tabBar setTitle:@"DATA"]; 
[tabBar setImage:[UIImage imageNamed:@"DATA.png"]]; 

这工作得很好,标签显示的标题是“数据”和显示正确的图标图像。在里面的loadView相同的控制器我设置的UIViewController标题:

[self setTitle:@"Data Table"]; 

我的问题是,当我运行该应用程序我的第二个选项卡上写着“DATA”但是当我点击标签和的loadView被称为(我有一个UITableView在那里),我将UNViewControllers标题属性设置为“数据表”我的第二个选项卡也更改为读取“数据表”。有没有办法解决/避免这种情况?

回答

3

你确定只想要两个UIViewControllers而不是UINavigationControllers吗?通常你创建一个UIViewController,然后用该视图控制器创建UINavigationController,然后将这些导航控制器放到UITabBarController中。

这样你的UIViewController实际上会有'标题',你可以改变。

+0

第一个标签是一个UIMapView,第二个标签是使用initWithRootViewController一个UINavigationController,根视图控制器是一个UIViewController其具有在其上(除其他事项外)一个UITableView。 – fuzzygoat 2011-01-19 14:25:08

0
self.navigationController.navigationBar.topItem.title = @"title";