UIView"吮吸"动画

igu*_*222 14 iphone cocoa-touch core-animation uikit uiview

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

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

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

Jor*_*ers 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以基于着色器执行动画.


Rem*_*ver -3

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