2016-04-24 15 views
1

私は任意の現在のビューの左上の「戻る」ボタンをクリックするたびにバックルートビューに取得したいです。 swiftを使用して戻るボタンをクリックすると、現在のビューからルートビューに戻るにはどうすればよいですか?

は、私は助けることが popToRootViewControllerAnimatedを見つけましたが、私はどこビュークラスでそれを追加し、それを使用する方法がわかりません。

と多分私は、以下の機能を使用することができますか?

func popToRootViewControllerAnimated(_ animated: Bool) -> [UIViewController]? 

[戻る]ボタンをクリックした場合の使用方法を教えてください。

+0

「ゆるやかなセグ」をチェックすることができます –

答えて

4

としては、ルートビューコントローラ 除い公式文書に"Pushing and popping stack items"

func popToRootViewControllerAnimated(_ animated: Bool) -> [UIViewController]? 

ポップスタック上のすべてのビューコントローラを説明し、表示を更新します。あなたがrootViewControllerに行く必要があるときに説明できる

@IBAction func backToRootButton(sender: UIButton) { 
     navigationController?.popToRootViewControllerAnimated(true) 
} 

この画像を:: enter image description here

このコードを使用すると、あなたのnavigationController 戻るボタンをカスタマイズすることができます下のあなたは、単にでそれを使用することができます

override func viewDidLoad { 
      super.viewDidLoad() 
      self.navigationItem.hidesBackButton = true 
      let newBackButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Bordered, target: self, action: "back:") 
      self.navigationItem.leftBarButtonItem = newBackButton; 
     } 

     func back(sender: UIBarButtonItem) { 
      // Perform your custom actions 
      // ... 
      // Go back to the previous ViewController 
      //self.navigationController?.popViewControllerAnimated(true) 
      // ..or go back to the rootViewController    
    self.navigationController?.popToRootViewControllerAnimated(true) 
     } 

あなたは単純に前のviewControllerにポップするか、ルートに直接行くか、今のところあなたのスタックの深さやtopViewControllerに依存する必要があるかどうかを決めることができます。

+0

を探していますが、Navigation Controllerを追加して作成した左上の戻るボタンをクリックすると、どのようにfuntion "backToRootButton"を呼び出すことができますか? – zonyang

+0

私の回答もいくつかのコードで更新しました –

関連する問題