【问题标题】:Setting title of a UINavigationController设置 UINavigationController 的标题
【发布时间】:2012-07-06 00:38:19
【问题描述】:

我有一个UITabBarController,它设置了 5 个选项卡,在屏幕上放置了一个 ViewController 的实例,我在其中放置了 UINavigationController

UINavigationController *nc = [[UINavigationController alloc]init];
[self.view addSubview:nc.view];

它工作得很好(标签和导航栏),但是将标签的标题设置到栏上时出现问题。

我尝试将 self.title = @"something"; 放在 - (id)init- (void)viewDidLoad 中 - 第一个什么也没做,第二个更改了我的标签标题,而不是导航栏。

我的问题是:把我的代码放在哪里,或者我应该做些什么改变?

【问题讨论】:

  • 既然你问到在哪里写代码;我会提到这一点:如果您从情节提要中获取 ViewControllers,则永远不会在运行时调用 init。从技术上讲,在运行时,您正在取消归档已经初始化的视图控制器(当您构建应用程序时)。最接近 init 的是 awakeFromNib。干杯!
  • 关键是我想在没有界面构建器/故事板的情况下做到这一点。试过awakeFromNib,甚至viewDidAppear,仍然没有任何反应。

标签: ios uinavigationcontroller title


【解决方案1】:

在您的UIViewController 中,执行以下操作:

self.navigationItem.title = @"your title";

【讨论】:

    【解决方案2】:

    为了解决这个tabbar-navigationbar问题,我走了很长一段路,终于找到了完整的解释视频。我的问题不是设置标题本身,而是关于如何以正确的顺序拆分视图。

    运行良好的层次结构:

    • 查看UITabBarController
      • 查看UINavigationController
        • 查看选项卡和导航栏之间的任何内容

    然后即使在第三个中设置self.title 也能正常工作。尽管如此,要区分标签栏标题和导航栏标题,您需要按照@looyao 所说的方式进行。

    full step-by-step video(代码可能已经过时 - 2009,但解释使它仍然有价值)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多