簡體   English   中英

iOS Swift 4重啟導航控制器

[英]iOS Swift 4 Restart Navigation controller

我的故事板看起來像這樣:

導航控制器 - > StepOne - > StepTwo - > StepThree

StepOne有一個Segue Show to StepTwo等。

StepOne我打開StepTwo on Button點擊如下:

 @IBAction func next(_ sender: UIButton) {

     self.performSegue(withIdentifier: "oneToTwo", sender: self)

 }

StepTwo我以相同的方式打開StepThree

現在在我的最后StepThree我想在StepOne重啟:

@IBAction func end_click(_ sender: UIButton) {
    self.navigationController?.popToRootViewController(animated: false)
}

這很好用。

問題是所有UI元素仍然在第一次運行時填寫。 當然,在我在每個控制器中導航之前,我可以清除所有值,但這似乎不是一個好習慣。

有沒有辦法告訴NavigationController使用其ViewController的新實例?

我想你可以簡單地解除導航控制器的根視圖控制器並再次呈現它。

你需要

// this inside end_click
let vc = self.storyboard!.instantiateViewController(withIdentifier:"StepOneId")
self.navigationController!.setViewControllers([vc], animated: true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM