我想創建一個效果,在視圖展開後銷燬它。IOS:如何在uiview上創建銷燬效果動畫
這可能是來自像一個氣球,expode流行什麼,打入碎片,這樣的事情,甚至乾脆被分成兩半,然後我會淡出件。但是我還沒有找到類似石英的東西,或者對如何去做這件事有很多想法。
每個視圖是從其他不同,但是如果我想,我將創建的幾件,可以單獨進行動畫背景沒有其他辦法。
我想創建一個效果,在視圖展開後銷燬它。IOS:如何在uiview上創建銷燬效果動畫
這可能是來自像一個氣球,expode流行什麼,打入碎片,這樣的事情,甚至乾脆被分成兩半,然後我會淡出件。但是我還沒有找到類似石英的東西,或者對如何去做這件事有很多想法。
每個視圖是從其他不同,但是如果我想,我將創建的幾件,可以單獨進行動畫背景沒有其他辦法。
AFAIK有對這種事情沒有內置的功能,但以下可能指向你在正確的方向。我沒有時間詳細說明,但我覺得您可能會從一些通用指南中受益,至少在別人能夠提供示例代碼或其他方法之前。
聽起來像是你想實現一個簡單的粒子發生器,使您的視圖圖像,該圖像送入發電機產生的顆粒,然後根據所需的效果動畫。
有可能是現有的第三方庫來做到這一點(我會實現這樣的事情之前,搜索周圍),否則有你可以採取一些辦法,我只是給了基本思路:
發生器拍攝圖像,並創建粒子形狀的子圖像(如碎片)。您需要一種算法來計算出形狀和大小,然後您可以在圖像上使用CAShapeLayer遮罩或實際渲染較小的圖像(如果使用一個圖像對象作爲多個CALayers/UIImageViews帶有蒙版的源代碼經過優化,只需將它需要的像素複製到屏幕上,並且實際上不會複製數據,那麼這可能是您的最佳選擇。您可以通過搜索或作爲最後的手段來確定該行爲碼)。
一旦你有你的視圖/圖層集合,你可以使用另一種算法來計算給定效果的新大小/位置/旋轉,並使用標準動畫api來移動由算法提供的集合內容。同樣,實施將取決於您可能需要做的潛在優化。直接使用CALayer會比UIImageView的集合具有更好的性能。
這裏有一些庫爾斯的:http://www.cocoacontrols.com/controls/hmgltransitions雖然沒有像一個氣球或碎片 – yuf