アニメーションを使用してSuperViewからUIVIewを削除する
-
06-07-2019 - |
質問
UIViewをアプリに追加するアニメーションを作成できます。非常にきれいに見えるので、アップルに感謝します。
ただし、スーパービューからこのビューを削除するにはどうすればよいですか?
使用しているもの:
CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];
" in"をアニメーション化するには移行...「アウト」をどのようにアニメートしますか移行????
解決
ビューをアニメーション化して、画面外/縮小/拡大/フェードに移動し、アニメーションの終了時に実際の削除を行います。
これを行うには、beginAnimations / commitAnimationsブロック間でビューのプロパティ(位置/サイズ/オフセット)を変更します。 UIKitは、指定された時間にわたってこれらのプロパティをアニメーション化します。
E.gのようなもの;
[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];
アニメーション終了通知で、ビューを削除できます。
所属していません StackOverflow