CABasicAnimation類的使用方式就是基本的關鍵幀動畫。ios
所謂關鍵幀動畫,就是將Layer的屬性做爲KeyPath來註冊,指定動畫的起始幀和結束幀,而後自動計算和實現中間的過渡動畫的一種動畫方式。xcode
將"QuartzCore.framework"這個庫添加到項目中。而且在須要使用CABaseAnimation類的地方import頭文件。app
使用"animationWithKeyPath:"方法進行CABasicAnimation的實例化,並指定Layer的屬性做爲關鍵路徑來註冊。動畫
設定動畫的屬性。如下是屬性及其對應的說明:spa
屬性 | 說明 |
---|---|
duration | 動畫時長(秒爲單位)(注:此處與原文有出入) |
repeatCount | 重複次數。永久重複的話設置爲HUGE_VALF。 |
beginTime | 指定動畫開始時間。從開始指定延遲幾秒執行的話,請設置爲 「CACurrentMediaTime() + 秒數」的形式。 |
timingFunction | 設定動畫的速度變化 |
autoreverses | 動畫結束時是否執行逆動畫 |
例:.net
設定動畫開始和結束幀時的狀態。設定的值會變爲KeyPath所指定的屬性的值。code
屬性 | 說明 |
---|---|
fromValue | 開始值 |
toValue | 終了值(絶対値) |
byValue | 終了值(相對值) |
例:orm
爲Layer添加設置完成的動畫,能夠給Key指定任意名字。對象
用CABasicAnimation執行動畫,在動畫結束後會迴歸動畫開始前的狀態。想要解決的話,必須設置「removedOnCompletion」和「fillMode」這兩個屬性。blog
實際上CABasicAnimation有不少種使用方法,如下將一一列舉。
使用CAAnimationGroup類進行復數動畫的組合。代碼以下:
博主:設定委託對象,實現委託方法,以下:
CABasicAnimation正在進行動畫的時候,點擊了Home按鈕後再回到app的時候,動畫會被清空。
使用CABasicAnimation實現關鍵幀動畫的示例程序以下:
Objective-C的示例程序的執行結果以下:
控制檯輸出以下: