什么是核心動(dòng)畫

Core Animation是一套包含圖形繪制、投影、動(dòng)畫的Objective-C類集合,該框架包含在QuartzCore.framework中,它因?yàn)楸挥糜谔幚砀鼮閺?qiáng)大的平滑的轉(zhuǎn)場(chǎng)效果而引入OS X Leopard和iOS而出名。Core Animation和其它框架的位置關(guān)系如下圖所示:

上圖中的OpenGL ES是個(gè)C語(yǔ)言寫的非常底層的圖形處理框架,是個(gè)移動(dòng)設(shè)備上繪制2D和3D計(jì)算機(jī)圖形的標(biāo)準(zhǔn)開(kāi)源庫(kù),廣泛地被用在游戲的圖形繪制上,負(fù)責(zé)直接驅(qū)動(dòng)GPU,效率非常高,缺點(diǎn)是使用起來(lái)異常復(fù)雜。
  Core Animation是對(duì)OpenGL ES的Objective-C封裝,具有與OpenGL ES幾乎等價(jià)的高性能,卻隱藏了OpenGL ES的復(fù)雜性。

2、核心動(dòng)畫類的層次結(jié)構(gòu)


核心動(dòng)畫中可以直接使用的類有:

  CABasicAnimation
  CAKeyframeAnimation
  CAAnimationGroup
  CATransition
  CASpringAnimation

常用屬性有:

  • duration : 動(dòng)畫的持續(xù)時(shí)間

  • beginTime : 動(dòng)畫的開(kāi)始時(shí)間

  • repeatCount : 動(dòng)畫的重復(fù)次數(shù)

  • autoreverses : 執(zhí)行的動(dòng)畫按照原動(dòng)畫返回執(zhí)行

  • timingFunction : 控制動(dòng)畫的顯示節(jié)奏系統(tǒng)提供五種值選擇,分別是:
    kCAMediaTimingFunctionLinear 線性動(dòng)畫
    kCAMediaTimingFunctionEaseIn 先慢后快
    kCAMediaTimingFunctionEaseOut 先快后慢
    kCAMediaTimingFunctionEaseInEaseOut 先慢后快再慢
    kCAMediaTimingFunctionDefault 默認(rèn),

    網(wǎng)友評(píng)論