2

我有两个不同的视图控制器添加到TabBarController的视图控制器数组,并将此TabBarController添加到导航控制器。向NavigationBar添加标题

现在我想为导航控制器上的tabbar中的不同视图显示不同的标题。

任何帮助,将不胜感激。

回答

2

导航栏中的标题是从导航栏的顶部视图控制器中获取的。这听起来像它的顶视图控制器,就你而言,它是标签栏控制器,所以你需要在标签栏更改时设置标签栏控制器的标题。

具体来说,你要指定一个UITabBarControllerDelegate标签栏控制器的delegate财产和实现下面的方法:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    tabBarController.title = viewController.title; 
} 

线相当于

tabBarController.navigationItem.title = viewController.navigationItem.title; 

所以,你可以使用任意一个。无论如何,将各个标签视图控制器的标题设置为所需的标题,然后标签将在标签更改时更改。

+0

没有我想改变navigationcontroller标题每当标签栏的变化......我怎么能做到这一点... – user347161 2010-05-21 15:13:46

+2

做正是我所说的 – 2010-05-21 16:22:47

+0

感谢埃德...有一些改变,你的代码我现在可以显示标题在导航控制器.... – user347161 2010-05-22 08:51:51

0

假设你有有三种不同的视图中的三个viewcontrollers并要更改导航栏的标题,当你推secondViewcontroller和相同的,当你thirdviewcontroller则:

viewController2.navigationItem.title = @"Select Template"; 
viewController3.navigationItem.title = @"Template"; 

这样我们就可以改变导航栏的标题,同时推动一些下一个视图控制器。

希望它有帮助。