2010-04-18 124 views
14

我想使用UIView的「吸吮」過渡此處引用(視圖「吸」入點):UIView的「吸」動畫

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

以上的方法,但是,使用私有API,這使得它幾乎無法用於App Store應用程序。如何在不依賴私有API的情況下重新創建類似的效果?我猜測答案與OpenGL有關,儘管我沒有經驗。

+3

偉大的問題(我沒有答案),但它會是一個偉大的一天,當一些聰明的圖形傢伙或加侖投入高品質吸/魔鬼和頁面捲曲效果的下拉庫。在那之前,我相信人們大都只是自己製作(劣質的)僞版本。好的,所以我沒有答案,但是您可能需要處理在openGL中渲染某些幾何圖形的紋理,並對變形進行動畫處理。 – 2010-04-19 01:45:30

+0

http://stackoverflow.com/questions/428110/how-can-i-replicate-the-trashing-animation-of-mail-app – kennytm 2010-04-19 08:31:21

+1

@quixoto:是的,這是我計劃下去的路徑,儘管我仍然無法確定開始前進的方向。 @KennyTM:我的問題略有不同,我不想使用私有API。這仍然是重複的嗎? – igul222 2010-04-19 22:02:35

回答

-3

你有沒有檢出cocos2d框架。它是openGL的一個客觀的c包裝,並且它做得非常好。您可以查看他們的演示視頻,其中顯示了該庫支持的所有轉換類型。

7

只要Apple沒有公開記錄效果,並且想要避免因使用私有API而被拒絕的風險,則必須自行推出。

建議開始在此工作將使用OpenGL ES着色器。

下面的博客文章包括演示石英作曲家補丁創造神奇效果,如OS X和iOS看出: http://www.aderstedtsoftware.com/users/erik/weblog/c7cb9/

一個良好的開端你的OpenGL ES着色器將使用代碼的精靈在這個QuartzComposer文件中過濾。代碼幾乎可以照原樣複製到OpenGL的着色器中。大部分工作可能會將OpenGL集成到您的應用程序中:將正確的視圖渲染爲OpenGL紋理,並將OpenGL覆蓋在您的應用程序上,以執行基於着色器的動畫。

+0

鏈接似乎已經死了 – SwiftsNamesake 2018-02-26 15:46:15

3

請在git://github.com/rmd6502/Genie.git上看看我的項目 - 現在速度很慢,但即將進行改進。

+2

[Here]( https://開頭github上。com/Ciechan/BCGenieEffect#bcgenieeffect)是類似的...但工作更快 – janisz 2012-12-27 20:05:42