圖層的內容動畫
Core Animation提供的基礎設施讓輕松創建復雜圖層動畫變得異常簡單,Core Animation擴展了所有擁有圖層的視圖。例如改變圖層框架矩形的尺寸,改變其在屏幕上的位置,應用旋轉變換,改變它的透明度。使用Core Animation初始化一個動畫和改變屬性一樣簡單,但你也可以顯式的創建一個動畫並設置動畫的參數。
用簡單的動畫表現圖層屬性的變化
你可以以顯式或隱式的執行簡單的動畫。隱式動畫使用默認的定時器和動畫屬性展現動畫。而顯式動畫需要你為動畫對象配置一些參數。所以當默認的定時器能夠很好的為你服務並且你所要的動畫效果不需要太多代碼時,隱式動畫則非常的適合你。
簡單的動畫包括改變一個圖層的屬性,以及隨著時間的推移,讓Core Animation以動畫的形式展現這些屬性的變化。圖層定義了許多會影響圖層可視外觀的屬性。改變這些屬性是以動畫方式展現外觀變化的一種方式。例如將圖層的透明度從1.0修改為0.0,這將引起圖層的淡出特效,最後圖層變為透明。
重要:雖然你可以使用Core Animation接口直接讓支持圖層的視圖產生動畫,但這樣做經常需要額外的步驟。
為了觸發隱式動畫,你所要做的是更新圖層對象的屬性。當更改的目標是圖層樹中的圖層對象,更改將立即反映到對象上。而圖層對象的可視外觀並不會立即發生變化,Core Animation將圖層對象屬性的變化當做是一個觸發器,用以創建和安排一個或多個可執行的隱式動畫。如清單3-1那樣修改圖層對象屬性,將引起Core Animation為你創建動畫對象,動畫對象將被安排在下一次更新周期運行。
清單3-1 隱式動畫的方式呈現圖層屬性的變化