0

私はiPhone開発に比較的慣れていません。私は2つのView Controllerを持っています。フェードアウトアニメーションで3秒間隔である画面から別の画面に移動したい。誰でもこれを進める方法についての指針を提供できますか?

4

4 に答える 4

3

スリープは必要ありません。また、バックグラウンド プロセスでのみスリープできます。アニメートしているので、メインスレッドでこれを行う必要があります。

このアニメーションには 3 秒かかり、ビューのアルファを 0 に設定します。つまり、フェードアウトします。アニメーションが終了すると、完了ブロックが発生します。これにより、newView がプッシュされます。

 [UIView animateWithDuration:3.0 animations:^{
            [self.view setAlpha:0.0];
        } completion:^(BOOL finished) {
            [self.navigationController pushViewController:newView animated:YES];
     }];
于 2013-10-17T11:04:23.190 に答える
1

sleep を使用して ios での実行を一時停止し、navigationcontroller で次のビュー コントローラーをプッシュします。

ここで説明されているように、navigationcontroller アニメーションを変更することで実行できるフェード アニメーション: http://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.html

于 2013-10-17T10:59:52.160 に答える
0

ナビゲーション コードを記述し、ボタン アクションから、または現在のナビゲーション コードを記述している場所で、「performSelector: withObject: afterDelay:」メソッドを遅延 3 でオブジェクトを nil として使用する新しいメソッドを記述します。

于 2013-10-17T11:06:07.667 に答える
0

s には、UIViewController次を使用できます。

transitionFromViewController:toViewController:duration:options:animations:completion:

またはs transitionWithView:duration:options:animations:completion:UIView

于 2013-10-17T11:06:31.850 に答える