[英]Change title of navigationItem Title based on selected Tab Bar Item
我有一个标签栏视图控制器,有四个可能的视图控制器。 所有其他视图都有关系的主标签栏视图也有一个导航栏,我可以双击并更改故事板中的标题。 我需要知道的是如何根据选定的标签栏项更改此导航项的标题。
例如,我将有四个选项卡。 1是“Bills”,2是“Groceries”,3是“Gas”,4是“Personal”。 如果选中“票据选项卡”,我希望我的视图标题为Bills,依此类推。
编辑:希望这将澄清我想要完成的事情。
我希望能够在右侧四个表视图的顶部更改导航栏的标题。 标签栏控制器是我唯一可以双击并在故事板上更改磁贴的地方。 我希望根据从选项卡栏中选择的表视图来更改标题。
你应该只能在每个“四个视图控制器”中设置title属性,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Title For View Controller Goes Here";
}
然后,每当单击此视图控制器的所述选项卡时,导航栏的标题应更改为此标题。
编辑
听起来你可能已经在标签栏的视图中放置了Interface Builder的UINavigationBar
对象。 相反,您实际上希望将UITabBarController
嵌入到UINavigationController
。
浏览Ray Wenderlich关于开始故事板的教程,这应该告诉你如何做到这一点:
http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
祝好运!
在每个选项卡选项上,您可以更改标题。
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
{
viewController.title=@"your title"
}
我应该警告你,这种方法可能是一个不优雅的黑客,因为我只是刚刚开始理解导航。 但这是我接近它的方式:
基本上,您应该为每个想要拥有标题的UIViewController
添加一个UINavigationItem
,并根据UIViewController
显示的内容更改UINavigationItem
的文本。
删除手动添加到视图控制器的任何导航栏项,并将其添加到viewDidLoad
方法
self.navigationController.navigationBar.topItem.title = @"My Title";
要么
self.navigationController.topViewController.title = @"My Title";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.