【问题标题】:Navigationbar title导航栏标题
【发布时间】:2015-12-14 14:32:42
【问题描述】:

在我当前的项目中,我的导航控制器标题似乎没有更新/更改。为了查看问题所在,我创建了一个新项目并将导航控制器嵌入到视图控制器中。

override func viewDidAppear(animated: Bool) {
    print(navigationController) // Optional(<UINavigationController: 0x7b356200>)

    navigationController?.navigationItem.title = "Main"
    navigationController?.navigationBar.backgroundColor = UIColor.greenColor()
}

奇怪的是导航栏变成了绿色,但仍然没有标题。这可能是什么原因?

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationbar


    【解决方案1】:

    用这个替换你的行

    navigationController?.navigationBar.topItem?.title = "Main"
    

    【讨论】:

    • 感谢这项工作!我做了另一个空项目,奇怪的是这两种方法都有效。你知道为什么吗?
    • 我正在阅读有关此的文档。 scroll down to "The Middle Item" section 查看设置导航控制器标题的方法。我相信它第二次对您有用,因为您引用了 ViewController 本身而不是 UINavigationController,例如:self.navigationItem.title = "Main"
    • 奇怪的是,我复制粘贴完全相同的代码...奇怪。
    • 我尝试将您使用您的方法设置的标题打印到控制台,我可以看到它设置为 Main,这意味着该语句工作正常,甚至虽然我不认为它是一个标题。 navigationController?.navigationItem 的描述也是这样的:用于在父导航栏中表示视图控制器的导航项。我不知道您的第一个和第二个项目之间的区别,但我认为这是可能会给你一个提示。
    • 我的原始项目正在使用容器视图,所以这可以解释它。这两个测试项目都是一样的(除了最后一个是新创建的)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2013-12-17
    • 2015-12-24
    • 2016-03-21
    • 2011-01-09
    • 2018-08-02
    • 2019-06-09
    相关资源
    最近更新 更多