Entfernen uiview von Superview mit Animation,
-
06-07-2019 - |
Frage
ich den Zusatz eines UIView meiner App animieren, es sieht sehr hübsch aus, so danke Apfel.
Wie aber animiere ich die Entfernung dieser Ansicht von der super Aussicht?
Ich bin mit:
CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];
die "in" Übergang zu animieren ... wie animieren Sie den "out" Übergang ????
Lösung
Ihre Ansicht Animieren so bewegt er sich außerhalb des Bildschirms / schrumpft / erweitert / Blendungen, dann tun die tatsächliche Entfernung, wenn die Animation beendet ist.
Sie können dies tun, indem Sie die Eigenschaften der Ansicht zu verändern (Position / Größe / Offset) zwischen einem beginAnimations / commitAnimations Block. UIKit wird dann diese Eigenschaften über die angegebene Zeit animieren.
Z. B so etwas wie;
[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];
In der Animation Ende-Benachrichtigung können Sie dann die Ansicht entfernen.