Swift 2:更改与标签栏控制器

时间:2016-02-22 22:49:44

标签: ios swift2 xcode7 navigationbar

我想更改视图的导航标题,该标题与选项卡栏控制器相关,该选项卡与导航控制器相关(参见图片)

我不知道该怎么做。

使用基本视图,我只需要在ViewController.swift中执行此操作:self.title="test"

但是在这里,这一行更改了标签栏的标题,但我想更改导航的标题。

Main.Storyboard :

6 个答案:

答案 0 :(得分:5)

根据苹果最佳实践,您不应该在导航控制器中包含标签栏控制器,而应该为每个标签设置视图控制器,这需要一个在其自己的导航控制器内。

导航控制器中包含标签栏控制器可能会产生各种问题。

根据标准实施时,您可以使用self.title

设置标题
  

使用标签栏控制器的应用也可以在一个或多个标签中使用导航控制器。在同一用户界面中组合这两种类型的视图控制器时,标签栏控制器始终充当导航控制器的包装器

https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html

答案 1 :(得分:3)

使用需要使用此属性:

lubridate

答案 2 :(得分:3)

在Swift 3上,在UIViewController中,覆盖你的viewDidAppear方法并添加以下代码片段:

if let tabController = self.parent as? UITabBarController { 
    tabController.navigationItem.title = "My Title"
}

答案 3 :(得分:1)

在你的故事板中嵌入UINavigationController并输入:

navigationBar.topItem.title = "Nav title"

答案 4 :(得分:1)

我也很难更改子视图控制器的导航栏标题。解决方案是:

@IBOutlet weak var navigationBar: UINavigationBar!

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationBar.topItem!.title = "Pickup Address"
}

答案 5 :(得分:0)

对于Swift 3 +

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.navigationItem.title = "Title"
}