RAGOpoR
RAGOpoR

Reputation: 8168

Is it possible to removeFromSuperview with Animation?

I have 2 layer is top and bottom on my program

how can i remove top layer with animation or bring top layer to back is it possible?

Upvotes: 2

Views: 5566

Answers (2)

Francescu
Francescu

Reputation: 17054

The easiest is playing with frame and alpha before removing it.

You can get some cool effects

-(void)removeWithEffect:(UIView *)myView
{
 [UIView beginAnimations:@"removeWithEffect" context:nil];
 [UIView setAnimationDuration:0.5f];
 //Change frame parameters, you have to adjust
 myView.frame = CGRectMake(0,0,320,480);
 myView.alpha = 0.0f;
 [UIView commitAnimations];
 [myView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.5f];
}

iOS Update

You can now use blocks to perform your animation

[UIView animateWithDuration:0.5f
     animations:^{view.alpha = 0.0;}
     completion:^(BOOL finished){ [view removeFromSuperview]; }];

Upvotes: 11

JosephH
JosephH

Reputation: 37495

If you're targetting iOS 4.0 upwards you can use animation blocks:

[UIView animateWithDuration:0.2
     animations:^{view.alpha = 0.0;}
     completion:^(BOOL finished){ [view removeFromSuperview]; }];

(above code comes from Apple's UIView documentation)

Upvotes: 7

Related Questions