我有一个NavigationController,然后是一个TabBarController,它有四个标签。 我想在选择不同选项卡时在TopBar上显示不同的标题。 一种方法是将每个TabBarItem视图嵌入到导航控制器中,但由于某种原因,这似乎不正确,我想通过代码应用它。
我通过使用以下代码来完成此任务:(Products_ViewController.m自定义类)
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UINavigationController *navCon = (UINavigationController*) [self.navigationController.viewControllers objectAtIndex:0];
navCon.navigationItem.title = @"Products";
}
但现在问题出现在点击标签时第一次,它会更改标题,但事实却没有。然后我在-(void)viewDidAppear{}
上应用了相同的代码,但结果仍然相同。
如果单击标签栏项目或显示视图,我如何设法显示导航顶栏标题(或运行上面的代码)?
谢谢!
答案 0 :(得分:0)
您可以在UITabBarControllerDelegate
类中实现Products_ViewController.m
并使用tabBarController:didSelectViewController:
方法执行代码。
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
UINavigationController *navCon = (UINavigationController*) [self.navigationController.viewControllers objectAtIndex:0];
navCon.navigationItem.title = @"Products";
}
在viewDidLoad
方法中,您必须将delegate
设置为self
。