我有一个标签栏视图控制器,它有四个可能的视图控制器。所有其他视图都有关系的主标签栏视图也有一个导航栏,我可以双击并更改故事板中的标题。我需要知道的是如何根据选定的标签栏项更改此导航项的标题。
例如,我将有四个标签。 1是“Bills”,2是“Groceries”,3是“Gas”,4是“Personal”。如果选中“票据标签”等,我希望我的观点标题为票据。
编辑:希望这能澄清我想要完成的任务。我希望能够在右侧四个表视图的顶部更改导航栏的标题。标签栏控制器是我唯一可以双击并在故事板上更改磁贴的地方。我希望根据从标签栏中选择的表格视图来更改标题。
答案 0 :(得分:1)
您应该能够在每个“四个视图控制器”中设置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
祝你好运!答案 1 :(得分:1)
在每个标签选择上,您都可以更改标题。
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
{
viewController.title=@"your title"
}
答案 2 :(得分:1)
我应该警告你,这种方法可能是一个不优雅的黑客攻击,因为我自己才开始理解导航。但这就是我接近它的方式:
基本上,您应该为要获得标题的每个UINavigationItem
添加UIViewController
,并根据UINavigationItem
更改UIViewController
的文字正在展示。
答案 3 :(得分:1)
删除您手动添加到视图控制器的所有导航栏项,并将其添加到viewDidLoad
方法
self.navigationController.navigationBar.topItem.title = @"My Title";
或
self.navigationController.topViewController.title = @"My Title";