UIView“吮吸”动画

时间:2010-04-18 23:50:07

标签: iphone cocoa-touch uikit uiview core-animation

我想在这里引用UIView“吸吮”过渡(视图被“吸”到一个点):

http://iphonedevwiki.net/index.php/UIViewAnimationState#Using_suckEffect

然而,上述方法使用私有API,这使得App Store应用程序几乎无法使用。如何在不依赖私有API的情况下重新创建类似的效果?我猜测答案与OpenGL有关,虽然我没有经验。

3 个答案:

答案 0 :(得分:7)

只要Apple没有公开记录该效果,并且您希望避免因使用私有API而被拒绝的风险,您就必须自己动手。

开始处理此问题的建议是使用OpenGL ES着色器。

以下博客文章包含一个演示Quartz Composer补丁,用于创建OS X和iOS中的Genie效果: http://www.aderstedtsoftware.com/users/erik/weblog/c7cb9/

OpenGL ES着色器的良好开端是使用此QuartzComposer文件中Genie Filter中的代码。几乎可以将代码复制到OpenGL的着色器中。大部分工作可能是在您的应用程序中集成OpenGL:将正确的视图呈现为OpenGL纹理,并在您的应用程序上覆盖OpenGL以基于着色器执行动画。

答案 1 :(得分:3)

请在git上查看我的项目://github.com/rmd6502/Genie.git - 现在速度非常慢,但即将进行改进。

答案 2 :(得分:-3)

你搞定了cocos2d框架吗?它是openGL的一个客观的包装器,它做得非常好。您可以查看他们的演示视频,其中显示了该库支持的所有过渡类型。