当前位置:  开发笔记 > 编程语言 > 正文

从带动画的SuperView中删除UIVIew

如何解决《从带动画的SuperView中删除UIVIew》经验,为你挑选了1个好方法。

我可以动画添加一个UIView到我的应用程序,它看起来非常漂亮,所以谢谢你苹果.

但是,如何从超级视图中移除此视图的动画?

我正在使用:

CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];

动画"进入"过渡...你如何动画"出"过渡????



1> Andrew Grant..:

为视图设置动画,使其在屏幕外移动/缩小/展开/淡化,然后在动画结束时执行实际删除.

您可以通过更改beginAnimations/commitAnimations块之间的视图属性(位置/大小/偏移量)来完成此操作.然后,UIKit将在指定的时间内为这些属性设置动画.

比如像;

[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];

在动画结束通知中,您可以删除视图.


啊,回答更新澄清..不需要downvote tho!
推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有