如何对removeFromSuperview进行动画处理

14

我使用以下代码为我的子视图添加了动画效果:

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

[self.view addSubview:webView];

但是现在我想删除我的子视图。我该如何添加动画来完成这个操作?就像其他CATransition一样?何时添加这个操作?是在addSubview之前还是之后?

1个回答

23

你可以先执行动画,然后在 animationEndListener 上调用 removeFromSuperView

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

1
不确定是否有所改变,但现在的选项是:UIViewAnimationOptionCurveEaseOut。 - Mike Burba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接