1、你知道什么是隱式動(dòng)畫嗎?什么是顯示動(dòng)畫?
2、CALayer類,是在QuartzCore 框架下的東西,so ?
keyTimes:各個(gè)關(guān)鍵幀的時(shí)間控制。前面使用values設(shè)置了四個(gè)關(guān)鍵幀,默認(rèn)情況下每?jī)蓭g的間隔為:8/(4-1)秒。如果想要控制動(dòng)畫從第一幀到第二針占用時(shí)間4秒,從第二幀到第三幀時(shí)間為2秒,而從第三幀到第四幀時(shí)間2秒的話,就可以通過(guò)keyTimes進(jìn)行設(shè)置。keyTimes中存儲(chǔ)的是時(shí)間占用比例點(diǎn),此時(shí)可以設(shè)置keyTimes的值為0.0,0.5,0.75,1.0(當(dāng)然必須轉(zhuǎn)換為NSNumber),也就是說(shuō)1到2幀運(yùn)行到總時(shí)間的50%,2到3幀運(yùn)行到總時(shí)間的75%,3到4幀運(yùn)行到8秒結(jié)束。
caculationMode:動(dòng)畫計(jì)算模式。還拿上面keyValues動(dòng)畫舉例,之所以1到2幀能形成連貫性動(dòng)畫而不是直接從第1幀經(jīng)過(guò)8/3秒到第2幀是因?yàn)閯?dòng)畫模式是連續(xù)的(值為kCAAnimationLinear,這是計(jì)算模式的默認(rèn)值);而如果指定了動(dòng)畫模式為kCAAnimationDiscrete離散的那么你會(huì)看到動(dòng)畫從第1幀經(jīng)過(guò)8/3秒直接到第2幀,中間沒有任何過(guò)渡。其他動(dòng)畫模式還有:kCAAnimationPaced(均勻執(zhí)行,會(huì)忽略keyTimes)、kCAAnimationCubic(平滑執(zhí)行,對(duì)于位置變動(dòng)關(guān)鍵幀動(dòng)畫運(yùn)行軌跡更平滑)、kCAAnimationCubicPaced(平滑均勻執(zhí)行)。
CAKeyframeAnimation? ----CAPropertyAnimation
CABasicAnimation? ----CAPropertyAnimation
CATransition? ---- CAAnimation
CAAnimationGroup? ? ----CAAnimation