可能重复:
How can I replicate the trashing animation of Mail.app
我会像在iPhone上的图片应用中一样使用垃圾效果。我想废弃一个UIView。
有人知道怎么做?
答案 0 :(得分:6)
看一下这个答案:https://stackoverflow.com/a/5814846/656036
[UIView beginAnimations:@"suck" context:NULL];
[UIView setAnimationTransition:103 forView:webView cache:NO];
[UIView setAnimationDuration:1.5f];
[UIView setAnimationPosition:CGPointMake(300, 1)];
[UIView commitAnimations];
请注意,这会使用私有API,并会让Apple拒绝您的应用。对于其他动画转换,请参阅http://iphonedevwiki.net/index.php/UIViewAnimationState
编辑:iphonedevwiki.net似乎失败了。但是,我找到了一些可以帮助你重现这种效果并且不会让你被拒绝的东西:(未经测试)http://www.aderstedtsoftware.com/users/erik/weblog/c7cb9/不同的动画状态如下(取自链接的SO答案):
// Efects for Animation.
// 0 (UIViewAnimationTransitionNone) Yes
// 1 (UIViewAnimationTransitionFlipFromLeft) oglFlip, fromLeft Yes
// 2 (UIViewAnimationTransitionFlipFromRight) oglFlip, fromRight Yes
// 3 (UIViewAnimationTransitionCurlUp) pageCurl Yes
// 4 (UIViewAnimationTransitionCurlDown) pageUnCurl Yes
// 101 pageCurl Yes
// 102 pageUnCurl Yes
// 103 suckEffect Yes
// 104 spewEffect No
// 105 cameraIris Yes
// 106 cameraIrisHollowClose Yes
// 107 cameraIrisHollowOpen Yes
// 108 genieEffect No
// 109 unGenieEffect No
// 110 rippleEffect Yes
// 111 twist No
// 112 tubey No
// 113 swirl No
// 114 charminUltra No
// 115 zoomyIn No
// 116 zoomyOut No
// 117 oglApplicationSuspend No
//---------------------------------------------------------------------
答案 1 :(得分:1)
使用的特定动画是私有API,可能会让您被拒绝。然而,它被广泛记录,您可以通过搜索SO来找到它。
您可以通过拍摄视图的图层并通过旋转,应用透视以及使用Core Animation移动/缩放视图来同时进行变换来近似使用的动画。
答案 2 :(得分:1)
您可以使用CAAnimation动画缩放图像。
在WWDC 2010上有一个名为构建动画驱动接口的iTunes视频演示。这将帮助您入门。务必从WWDC 2010中检查实践部分1/2中的CoreAnimation。这是非常高质量的教程。