私はスウィフトアプリケーションで次のユーザフローを作成したい:別のナビゲーションコントローラのビューにポップバックする方法は?
- ユーザーは、モーダルビューを選択してオーバーポップボタン
- をクリックします。ユーザーは選択肢を選択します。
- もう1つの選択肢が表示されます(「表示」遷移を使用)ので、ユーザーは< を押すことができます。選択肢1を変更するにはを押します。ユーザは第2の選択肢を選択する。
- 2番目のモーダルビューは、元のビュー(ボタンを含む)に戻る。そして、すべての方法VC3に至るVC1への参照を渡す呼び出すことによって
--> NC1 --> VC1 --modal-> NC2 --> VC2 --show-> VC3 (NC = UINavigationController, ^ | VC = UIViewController) | | ----Segue I'm trying to achieve-----
私はVC1に戻ってすべての方法をポップしようとしました:
は
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// Perform Segue
print("Trying to segue")
rootController!.navigationController!.popToRootViewControllerAnimated(true)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
ここで、rootController
はVC1への参照です。残念ながら、セグは発生しません。 2番目のモーダルビューは画面上にとどまりますが、 "Trying to segue"というメッセージが表示されます。
私はこのユーザーフローを適切に実装しようとしていますか?もしそうなら、私は別のナビゲーションコントローラのルートビューにポップできないのですか?
、あなたが –