0

2 つのビューで作成されたストーリーボードがあります。ViewController1 と ViewController2。私ができるようにしたいのは、ユーザーが特定のフィールドに入力してview1の「ログイン」ボタンをクリックした後、ユーザーをview2に移行することです。

ボタンが押されたときに実行されるメソッドにボタンが正常にリンクされていますが、トランジションの方法がわかりません。

4

1 に答える 1

0

これは、標準の 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)
于 2012-09-30T19:45:54.803 に答える