0

1画面だけでかなりシンプルなアプリを作りたいです。結果として、同じViewController内に2つのビューが必要です。

View1 - appear for 5 seconds
View2 - appear during gameplay
View1 - appear for 5 seconds
View2 - appear during gameplay
And so on. 

これを実現する方法はわかりませんが、このデザインパターンは有効であると確信しています。

ドキュメントを検索しましたが、明確な答えが見つかりません。

私はこれを行うアプリを知っていますが、どうやって、私は知りません。

viewcontroller.view = View1またはView2ですか?もしそうなら、どのように私はいくつかの素晴らしいアニメーションでこの切り替えを行うでしょうか?

私はアニメーションを知っていますが、この種の場合は知りません。助けてください...

4

1 に答える 1

1

2つのビューをviewControllerのビューのサブビューとして追加します。

[viewController.view addSubview:view1];
[viewController.view addSubview:view2];

次に、アニメーションブロックを使用します。

// the following code will replace view1 with view2 after a 5 second delay

// this ensures view2 is behind view1
[viewController.view bringSubviewToFront:view2];
[viewController.view bringSubviewToFront:view1];

// get view2 ready for the animation
view2.alpha = 0;
view2.hidden = NO;

// delay for 5 seconds before executing animation
[UIView animateWithDuration:duration delay:5 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction) animations:^{

    //fade out
    view1.alpha = 0;

    // fade in
    view2.alpha = 1;

} completion:^(BOOL finished) {

    // hide it after animation completes
    view1.hidden = YES;

    // bring view2 to front (even though view1 is not visible, it is still above view2)
    [viewController.view bringSubviewToFront:view2];
}];

view1をview2に置き換えます。等々。

于 2012-12-18T20:09:13.980 に答える