12

Swift iOSで2つのView Controllerを閉じる方法は?

以下は私のコードです。

@IBAction func backButtonTapped(sender: AnyObject) {
    self.presentingViewController
        .presentingViewController
        .dismissViewControllerAnimated(true, completion: nil)
}
4

4 に答える 4

14

その目的のために特別なアンワインド セグエがあり、スタック内の特定のビュー コントローラーにロールバックすることを目的としています。

最上位のコントローラー (移動元) をsourceとして呼び出し、スタック内のコントローラー (最上位にロールバックする) をdestinationとして呼び出しましょう。

  1. アンワインド セグエでトリガーされる宛先に作成IBActionします。

    @IBAction func myUnwindAction(segue: UIStoryboardSegue) {}

空にすることができます。

  1. ソースコントローラーで、コントローラーアイコンからドラッグして終了することにより、アンワインドセグエを作成します。ステップ1で作成したアクションが見つかります。セグエを呼び出しますunwind

  2. 通常のコードからセグエを発行できるようになりました

    performSegueWithIdentifier("unwind", sender: nil)

コードからアンワインド セグエを発行する方法を説明しました。ボタンのアンワインド セグエは、ボタンをドラッグしてアイコンを終了することにより、IB で直接作成できます。

詳細については、このディスカッションも確認してください:プログラムで Unwind セグエを実行する方法?

于 2015-09-16T10:05:25.463 に答える