我的程序中有2层是顶部和底部
如何删除带有动画的顶层或将顶层返回到后面是否可能?
答案 0 :(得分:11)
最简单的方法是在删除帧之前使用帧和alpha。
你可以得到一些很酷的效果
-(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更新
您现在可以使用块来执行动画
[UIView animateWithDuration:0.5f
animations:^{view.alpha = 0.0;}
completion:^(BOOL finished){ [view removeFromSuperview]; }];
答案 1 :(得分:7)
如果您向上定位iOS 4.0,则可以使用动画块:
[UIView animateWithDuration:0.2
animations:^{view.alpha = 0.0;}
completion:^(BOOL finished){ [view removeFromSuperview]; }];
(上面的代码来自Apple的UIView文档)