2 つのビューで作成されたストーリーボードがあります。ViewController1 と ViewController2。私ができるようにしたいのは、ユーザーが特定のフィールドに入力してview1の「ログイン」ボタンをクリックした後、ユーザーをview2に移行することです。
ボタンが押されたときに実行されるメソッドにボタンが正常にリンクされていますが、トランジションの方法がわかりません。
2 つのビューで作成されたストーリーボードがあります。ViewController1 と ViewController2。私ができるようにしたいのは、ユーザーが特定のフィールドに入力してview1の「ログイン」ボタンをクリックした後、ユーザーをview2に移行することです。
ボタンが押されたときに実行されるメソッドにボタンが正常にリンクされていますが、トランジションの方法がわかりません。
これは、標準の IOSUtility
テンプレートからパターン化されています。
1) ストーリーボードで、ビュー コントローラー 1 から 2 へのモーダル セグエを設定します。これを行うには、ビュー コントローラー 1 アイコン (ビュー コントローラーの右下にあるアイコン) からビュー コントローラー 2 にコントロール ドラッグしますmodal
。トランジション タイプを指定し、このセグエに などの識別子を付けShowViewController2
ます。
2)View Controller 1の実装ファイルで、ユーザーが押したときにこれを呼び出しますLog In
self.performSegueWithIdentifier("ShowViewController2", sender:self)
次に、viewController1 に実装prepareForSegue
して、viewController2 をセットアップします。
def prepareForSegue(segue, sender:sender)
# call setters to pass data to the second view controller
# set up a delegate pointer so that you can get back to VC1
segue.destinationViewController.delegate = self
end
また、ビュー コントローラ 2 が完了したときに呼び出されるメソッドをビュー コントローラ 1 に実装します。
# Come back here when view controller 2 is done, for instance if the
# user logs off.
def view_controller_2_is_done(sender)
self.dismissModalViewControllerAnimated(true)
end
delegate
ビュー コントローラ 2 の場合、次のセッターを設定する必要があります。
attr_accessor :delegate
ビュー コントローラ 1 に戻るとき (つまり、ユーザーがログアウトしたとき) に、次のように呼び出します。
@delegate.view_controller_2_is_done(self)