向导航栏添加标题

时间:2010-05-21 14:37:04

标签: iphone objective-c uinavigationcontroller uitabbarcontroller

我有两个不同的视图控制器添加到TabBarController的视图控制器数组中,这个TabBarController被添加到导航控制器。

现在我想在tabbar上的navigationController上为不同的视图显示不同的标题。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

导航栏中的标题取自其顶视图控制器的导航项。听起来它的顶视图控制器(在您的情况下是标签栏控制器),因此您需要在标签栏更改时设置标签栏控制器的标题。

具体来说,您需要将UITabBarControllerDelegate分配给标签栏控制器的delegate属性,并实现以下方法:

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

该行等同于

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

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

答案 1 :(得分:0)

假设您有三个具有三个不同视图的视图控制器,并且您想要更改导航栏的标题,当您按第二个视图控制器时,当您是第三个视图控制器时也是如此:

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

这样我们可以在推送下一个视图控制器的同时更改导航栏的标题。

希望它有所帮助。