0

ゲーム用のモーダルビューコントローラーがたくさんあります。そのため、スタックにView Controllerが多すぎないように、ViewControllerをスタックからポップする方法が必要です。

つまり、vc1がvc2にセグし、vc3がvc3にセグし、vc3がvc1にセグしているとします。

それがvc1に戻ったとき、私は電話する必要があります、

[self.navigationController popToRootViewControllerAnimated:YES];

また、ゲームをリプレイするために、自分のVCに接続するリプレイボタンを用意するだけでした。そして、これは悪い考えだと言われたので、その再生ボタンを押すたびに電話しても大丈夫[self.navigationController popViewControllerAnimated:YES]; ですか?

独自のVCにセグエしたい理由は、モーダルにセグエしたときに発生するクールなクロスディゾルブアニメーションが必要だからです。

私がこれをすべて行うと、問題なく動作しますか?

4

1 に答える 1

1

あなたは自己->自己移行以外のすべてのためにすべてを正しくやっています。

あなたはただアニメーションを持っているべきです。

例えば:

 - (void)reset
{
    [self resetInternalModelState];

    [self animateWithDuration:duration animations:^{
        // Logic to dissolve your view.
    }];

    [self reloadModelData];
}

状態をリセットするメソッドと、内部モデルデータに基づいてビューをリロードするメソッドがあると想像すると、ビューコントローラーの遷移から得られるアニメーションの景品を悪用することなく、これはまさにあなたが望むことを実行します。

于 2012-08-04T01:05:48.090 に答える