一、CABasicAnimation——基本動(dòng)畫(huà)
CAPropertyAnimation的子類(lèi)
-
屬性說(shuō)明:
- fromValue:keyPath相應(yīng)屬性的初始值
- toValue:keyPath相應(yīng)屬性的結(jié)束值
-
動(dòng)畫(huà)過(guò)程說(shuō)明:
- 隨著動(dòng)畫(huà)的進(jìn)行似舵,在長(zhǎng)度為duration的持續(xù)時(shí)間內(nèi)绅喉,keyPath相應(yīng)屬性的值從fromValue漸漸地變?yōu)閠oValue
-
keyPath
內(nèi)容是CALayer的可動(dòng)畫(huà)Animatable
屬性 - 如果
fillMode=kCAFillModeForwards
同時(shí)removedOnComletion=NO
贸弥,那么在動(dòng)畫(huà)執(zhí)行完畢后下硕,圖層會(huì)保持顯示動(dòng)畫(huà)執(zhí)行后的狀態(tài)线梗。 - 但在實(shí)質(zhì)上缚俏,圖層的屬性值還是動(dòng)畫(huà)執(zhí)行前的初始值惊搏,并沒(méi)有真正被改變。(一切都是假象)
二忧换、CAKeyframeAnimation——關(guān)鍵幀動(dòng)畫(huà)
關(guān)鍵幀動(dòng)畫(huà)恬惯,也是CAPropertyAnimation的子類(lèi)。
-
與CABasicAnimation的區(qū)別是:
- CABasicAnimation只能從一個(gè)數(shù)值(fromValue)變到另一個(gè)數(shù)值(toValue)
- 而CAKeyframeAnimation會(huì)
使用一個(gè)NSArray保存這些數(shù)值
-
屬性說(shuō)明:
- values:上述的NSArray對(duì)象亚茬。里面的元素稱(chēng)為“關(guān)鍵幀”(keyframe)酪耳。動(dòng)畫(huà)對(duì)象會(huì)在指定的時(shí)間(duration)內(nèi),依次顯示values數(shù)組中的每一個(gè)關(guān)鍵幀
- path:可以設(shè)置一個(gè)CGPathRef刹缝、CGMutablePathRef碗暗,讓圖層按照路徑軌跡移動(dòng)。path只對(duì)CALayer的anchorPoint和position起作用梢夯。
如果設(shè)置了path言疗,那么values將被忽略
- keyTimes:可以為對(duì)應(yīng)的關(guān)鍵幀指定對(duì)應(yīng)的時(shí)間點(diǎn),其取值范圍為0到1.0颂砸,keyTimes中的每一個(gè)時(shí)間值都對(duì)應(yīng)values中的每一幀噪奄。如果沒(méi)有設(shè)置keyTimes死姚,各個(gè)關(guān)鍵幀的時(shí)間是平分的
CABasicAnimation可看做是只有2個(gè)關(guān)鍵幀的CAKeyframeAnimation
三、CAAnimationGroup——?jiǎng)赢?huà)組
動(dòng)畫(huà)組勤篮,是CAAnimation的子類(lèi)都毒,可以保存一組動(dòng)畫(huà)對(duì)象,將CAAnimationGroup對(duì)象加入層后碰缔,組中所有動(dòng)畫(huà)對(duì)象可以同時(shí)并發(fā)運(yùn)行
-
屬性說(shuō)明:
- animations:用來(lái)保存一組動(dòng)畫(huà)對(duì)象的NSArray
- 默認(rèn)情況下账劲,一組動(dòng)畫(huà)對(duì)象是同時(shí)運(yùn)行的,也可以通過(guò)設(shè)置動(dòng)畫(huà)對(duì)象的beginTime屬性來(lái)更改動(dòng)畫(huà)的開(kāi)始時(shí)間
- animations:用來(lái)保存一組動(dòng)畫(huà)對(duì)象的NSArray