2016-08-02 61 views
0

我想知道是否有辦法將UIView(包括子視圖)從中心拆分成兩半,並使其具有像開門或展開的字母一樣的動畫。CATransform3D將UIView與3D打開門動畫拆分成一半

雖然我知道這可以通過具有UIView的一半大小的2 UIViews和創建2 CATransform3D旋轉動畫,問題是我有3(動畫)子視圖需要與UIView拆分。

*其中一個子視圖是動畫GIF的UIImageView,但任何子視圖都可以爲GIF製作動畫。

回答

0

創建這樣的動畫當然是可能的,但是沒有現成的方法來做到這一點。你需要編寫定製的核心動畫代碼。

我會做的就是拍攝視圖的快照,將快照分成2層,然後創建一組動畫開門動畫的動畫集CABasicAnimation

解釋如何做到這一點,不過是超出SO貼子的範圍。

+0

但是,我的UIView子視圖中的一個(或全部)是一個正在運行的GIF。是否有可能保持它運行,並做3D動畫? 我相信快照會停止動畫,這是我想要發生的最後一件事。 – aalesano

+0

正確的,拍攝快照會凍結動畫。我不得不考慮另一種方法,以便在GIF同時運行的情況下執行「穀倉門」動畫。您可能必須爲每個GIF創建2個副本,每個副本裁剪一半圖像,然後分別爲其製作動畫。 –

+0

但UIView動畫允許「動畫內容」? – Andy