7

アプリへのUIViewの追加をアニメーション化できます。見た目はとてもきれいなので、Appleに感謝します。

ただし、スーパービューからこのビューを削除するアニメーションを作成するにはどうすればよいですか?

私が使用しているもの:

CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];

「イン」トランジションをアニメーション化するには...「アウト」トランジションをどのようにアニメーション化しますか????

4

1 に答える 1

25

画面外に移動/縮小/拡大/フェードするようにビューをアニメーション化し、アニメーションが終了したら実際の削除を行います。

これを行うには、beginAnimations/commitAnimations ブロック間でビューのプロパティ (位置/サイズ/オフセット) を変更します。UIKit は、指定された時間にわたってこれらのプロパティをアニメーション化します。

たとえば、次のようなものです。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.30f];
view.transform = 
  CGAffineTransformMakeTranslation(
    view.frame.origin.x, 
    480.0f + (view.frame.size.height/2)  // move the whole view offscreen
  );
background.alpha = 0; // also fade to transparent
[UIView commitAnimations];

アニメーション終了通知で、ビューを削除できます。

于 2009-03-09T21:33:47.497 に答える