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

如何复制Mail.app的垃圾动画

如何解决《如何复制Mail.app的垃圾动画》经验,为你挑选了3个好方法。

在我的iPhone应用程序中,我在UIToolBar中放置了UIBarButtonSystemItemTrash类型的UIBarBUtton.按下时,我想复制Mail.app的动画:bin打开,UIView折叠并飞进它.
有没有办法通过iPhone SDK访问这个动画?

目前我正在使用定制的动画,但有一些限制; 例如,我无法为bin本身设置动画.你有什么建议吗?代码示例?

干杯,
戴维德



1> rpetrich..:

在动画上使用suckEffect类型.另外:spewEffect,genieEffect,unGenieEffect,twist,tubey,swirl,cameraIris,cameraIrisHollowClose,cameraIrisHollowOpen,rippleEffect,charminUltra,zoomyIn和zoomyOut.在模拟器中不起作用.

CATransition *animation = [CATransition animation];
animation.type = @"suckEffect";
animation.duration = 2.0f;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
view.opacity = 1.0f;
[view.layer addAnimation:animation forKey:@"transitionViewAnimation"];

注意:代码段是从较大的代码库中提取的.我希望它有效:)


这是使用私有API.如果Apple拒绝您的应用程序包含这些效果,请不要感到惊讶,特别是如果您的应用程序在操作系统更新后开始表现异常,请不要感到惊讶.我强烈建议你远离这个.
这真是很酷的动画.我想问你怎么知道iphone sdk的无证功能......
我在我的应用程序上有这个,AppStore批准它在销售.可能这不是私有API.:-)

2> kennytm..:

只是添加一些信息:

    您可以使用标准的"suckEffect" +[UIView setAnimationTransition:forView:cache:].只需将数字103传递给animationTransition变量即可.这不会避免Apple拒绝您的应用程序:p

    iPhoneOS 3.x上不再存在"spewEffect","genieEffect","unGenieEffect"等.剩下的唯一未记录的过渡是"立方体"( - ),"rippleEffect"(110),三个"cameraIris"效果(105,106,107)和"suckEffect"(103).

有关详细信息,请参阅http://www.iphonedevwiki.net/index.php?title=UIViewAnimationState.

此外,要为bin设置动画(使用私有API):http://www.iphonedevwiki.net/index.php?title = UIToolbar #Animating_the_trash_can_icon .



3> Brad Larson..:

不幸的是,我认为这需要一个完全自定义的动画.UIView折叠可以使用Core Animation进行近似,也许可以通过向UIView底层的CATransform3D添加透视来将UIView扭曲成一个被吸入垃圾桶的梯形.

就垃圾桶而言,您可以使用initWithCustomView:创建一个UIBarButtonItem,这可能允许您插入具有可动画垃圾桶的自定义UIView.它看起来像垃圾桶有两个元素,罐底和盖子,它们独立旋转以打开和关闭罐头.为两者绘制PNG,为它们创建UIImageViews,并使它们成为UIBarButtonItem自定义视图的子视图.对于打开和关闭,将旋转变换应用于它们以设置子视图的动画.


如果要从已发布的接口创建自己的实现,则无需担心.您可能会收到初步拒绝,但他们会听取您的回复并最终批准.坦率地说,关于完全拒绝的报道被夸大了.
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有