2012-04-05 43 views
0

我的應用程序中有很多情況,我正在使用CATransition從一個視圖切換到另一個視圖。在轉換到視圖時,通常會有CoreGraphics繪製的圖形。爲了論證的緣故,讓我們說這是幾個方塊。然而,當動畫進入視圖時,動畫在第一次繪製圖形時,在轉換的中途停頓了一小段時間。在屏幕外畫CoreGraphics以防止轉換期間的動畫口吃?

在動畫開始之前,是否有一個預先繪製該視圖及其自定義圖形的方法(希望是簡單的方法),所以這個結果不會發生?

+0

通過在圖層上設置初始值,並儘可能早地播放動畫,我已經設法減少我的動畫(這是不透明度變化)中的斷鏈。 – Henrik 2015-07-18 19:54:51

回答

0

在圖層上設置shouldRasterizeYES

+0

我已經有了這個設置,但是它在滑動時仍然會出現口吃。我甚至通過將圖形捕獲到位圖來手動柵格化圖層,並在繪圖所在的位置顯示位圖,然後將圖像交換爲一旦動畫完成繪製,但仍然有一個口吃。 這不是我尋找的答案,但可能會幫助一些人,所以我將它標記爲答案,除非有人提出了更好的解決方案。 – Dermot 2012-04-09 07:20:25

+0

你正在使用什麼CATransition? – 2012-04-09 07:56:29

+0

CATransitionPush和子類型是TransitionFromTop。請注意,在另一個實例中,我將新視圖添加到當前視圖的PARENT視圖中位置0,480,320,480(離屏幕底部),然後使用UIKit動畫將當前視圖設置爲0,480,320,480,將新視圖設置爲0 ,0,480,320,然後從子視圖數組中刪除舊視圖。儘管如此,仍然會有一些口吃 – Dermot 2012-04-10 10:45:06