0

あるビューから別のビューに移動するときにトランジション効果を追加する方法は?

たとえば、ボタンをクリックして addSubView が呼び出されると、新しいビューがロードされます。そうするときに「スライドイン」のようなトランジション効果/アニメーションが必要ですか? また、元のビューに戻るときに「スライド アウト」トランジションを追加する方法を教えてください。

助けてください

4

1 に答える 1

1

UIViewこれは、単純なアニメーションで実現できます。いくつかの例を次に示します。

これにより、アルファが 0.0 から 1.0 にアニメートされ、フェードイン効果が得られます。

UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[secondView setAlpha:0.0];
[self.view addSubview:secondView];

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
    [secondView setAlpha:1.0];
}completion:^(BOOL done){
    //Some completion handler!
}];

CGAffineTransformsそして、ビューの移動を処理するために掘り下げることができます。この例では、新しいビューを画面の左下隅から移動します。

UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(320, 480, 320, 480)];
[self.view addSubview:secondView];

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
    [secondView setTransform:CGAffineTransformMakeTranslation(-320, -480)];
}completion:^(BOOL done){
    //Some completion handler!
}];

このようなブロックを使用すると、簡単なものから中間的なものまで、必要なアニメーションをほとんど作成できます。

于 2012-08-28T20:21:15.217 に答える