设置视图控制器标题时,后退按钮标题会更改

时间:2019-04-18 02:12:47

标签: ios swift

我有一个UIViewController A嵌入在UINavigationViewController中,该A推动另一个视图控制器B执行某些操作。给定A的UIViewController.title设置为“ VC A”,则在显示B时,后退按钮的标题将为“ viewDidLoad之后,则后退按钮的标题将更改为“ viewDidLoad中设置标题,则后退按钮标题将保留为“

class ViewControllerA: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    title = "VC A"  
  }

  func doSomething() {
    // Instantiate ViewControllerB

    navigationController?.pushViewController(viewControllerB, animated: true)
  }
}

class ViewControllerB: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    title = "VC B" // Works as expected
  }

  func doSomething() {
    title = "VC B" // Causes the back button title to change to Back from VC A
  }
}

我可以使用导航堆栈中上一个视图控制器的标题创建一个自定义后退按钮,作为一种解决方法,但是我很好奇为什么会首先出现这种情况,并且可能会更简单地解决。

0 个答案:

没有答案