繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM