根据选定的标签栏项目更改navigationItem标题的标题

时间:2013-01-03 01:14:38

标签: iphone ios

enter image description here我有一个标签栏视图控制器,它有四个可能的视图控制器。所有其他视图都有关系的主标签栏视图也有一个导航栏,我可以双击并更改故事板中的标题。我需要知道的是如何根据选定的标签栏项更改此导航项的标题。

例如,我将有四个标签。 1是“Bills”,2是“Groceries”,3是“Gas”,4是“Personal”。如果选中“票据标签”等,我希望我的观点标题为票据。

编辑:希望这能澄清我想要完成的任务。

我希望能够在右侧四个表视图的顶部更改导航栏的标题。标签栏控制器是我唯一可以双击并在故事板上更改磁贴的地方。我希望根据从标签栏中选择的表格视图来更改标题。

4 个答案:

答案 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";