私はiPhone開発に比較的慣れていません。私は2つのView Controllerを持っています。フェードアウトアニメーションで3秒間隔である画面から別の画面に移動したい。誰でもこれを進める方法についての指針を提供できますか?
4 に答える
スリープは必要ありません。また、バックグラウンド プロセスでのみスリープできます。アニメートしているので、メインスレッドでこれを行う必要があります。
このアニメーションには 3 秒かかり、ビューのアルファを 0 に設定します。つまり、フェードアウトします。アニメーションが終了すると、完了ブロックが発生します。これにより、newView がプッシュされます。
[UIView animateWithDuration:3.0 animations:^{
[self.view setAlpha:0.0];
} completion:^(BOOL finished) {
[self.navigationController pushViewController:newView animated:YES];
}];
sleep を使用して ios での実行を一時停止し、navigationcontroller で次のビュー コントローラーをプッシュします。
ここで説明されているように、navigationcontroller アニメーションを変更することで実行できるフェード アニメーション: http://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.html
ナビゲーション コードを記述し、ボタン アクションから、または現在のナビゲーション コードを記述している場所で、「performSelector: withObject: afterDelay:」メソッドを遅延 3 でオブジェクトを nil として使用する新しいメソッドを記述します。
s には、UIViewController
次を使用できます。
transitionFromViewController:toViewController:duration:options:animations:completion:
またはs transitionWithView:duration:options:animations:completion:
。UIView