Search code examples
objective-ciosuiviewanimationcatransition

How to animate removeFromSuperview


I animated the appearance of my subview with:

CATransition *transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionReveal;
[webView.layer addAnimation:transition forKey:nil];

[self.view addSubview:webView];

But now I want to remove my subView. How can I add animation to do this? Like other CATransition? When to add this? Before or after addSubview?


Solution

  • Well you could do the animation first and on the animationEndListener call removeFromSuperView

    [UIView animateWithDuration:0.5
        delay:1.0
        options: UIViewAnimationOptionCurveEaseOut
        animations:^{
            yourView.alpha = 0;
        }completion:^(BOOL finished){
            [yourView removeFromSuperview];
        }];