我有两个不同的视图控制器添加到TabBarController的视图控制器数组中,这个TabBarController被添加到导航控制器。
现在我想在tabbar上的navigationController上为不同的视图显示不同的标题。
任何帮助都将不胜感激。
答案 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";
这样我们可以在推送下一个视图控制器的同时更改导航栏的标题。
希望它有所帮助。