2016-07-02 9 views
1

私はこの問題の解決策を見つけることができません。ストーリーボードを介してセグを実装していることが判明した場合は、すべてのトピックでリラックスしてください。スウィフトを使用したスト​​ーリーボードなしの巻戻し

私は自分のレイアウトを作る方法を学ぼうとしていますのコードです。したがって、私の新しいXcodeプロジェクトでは、ストーリーボードファイルを削除しています。

私のアプリのホーム画面にユーザーを記録する私のビューコントローラで、巻き戻しセグをしたいと思います。ユーザーが正常にログインすると、ビューは元に戻ります。

コードだけを使用してこのエフェクトを達成する方法について、誰かが正しい方向で私を指摘できますか?

+3

この回答の下半分を参照してください(前半は後半です、後半は後半なし)。http://stackoverflow.com/a/33716102/1630618 – vacawama

+0

ありがとう、これは追加ラインで機能しました。私の提示しているView Controllerは、Nav Controllerです。私の場合は、dismissViewControllerメソッドが完了する前に戻って値を変更する必要があるのは、ルートビューコントローラではありません。私はdestinationVC = navController.viewControllers [0]を動作させるためにしました – iOShepherd

+2

いいですね。また、Googleの委任をすることもできます。呼び出されたVCが(クラスのように)呼び出し側について何も知らないように、より適切な分割が行われます。これは、呼び出し側が実装するプロトコルを定義することで実現します。呼び出し先をプ​​ッシュする前に、呼び出し先の呼び出し元への参照を設定します。参照は、プロトコルのタイプの弱いポインタです。デリゲートポインタでプロトコルメソッドを呼び出してデータを返す。 – vacawama

答えて

3

ストーリーボードアイテムであるセグを使用せずに「セグ」アクションを実行することはできません。

あなたがに移行したいビューには、ナビゲーションスタック上の最初のビューである場合は、あなただけの別のビューコントローラに行きたい場合は、あなたが

presentViewController 
0

を使用することができますself.navigationController?.popToRootViewControllerAnimated(true)

を使用することができます現在のビューコントローラがモーダルで表示されている場合はdismissViewControllerAnimatedにすることもできます。

関連する問題