什么是核心動(dòng)畫
Core Animation是一套包含圖形繪制、投影、動(dòng)畫的Objective-C類集合,該框架包含在QuartzCore.framework中,它因?yàn)楸挥糜谔幚砀鼮閺?qiáng)大的平滑的轉(zhuǎn)場效果而引入OS X Leopard和iOS而出名。Core Animation和其它框架的位置關(guān)系如下圖所示:
上圖中的OpenGL ES是個(gè)C語言寫的非常底層的圖形處理框架,是個(gè)移動(dòng)設(shè)備上繪制2D和3D計(jì)算機(jī)圖形的標(biāo)準(zhǔn)開源庫,廣泛地被用在游戲的圖形繪制上,負(fù)責(zé)直接驅(qū)動(dòng)GPU,效率非常高,缺點(diǎn)是使用起來異常復(fù)雜。
Core Animation是對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)畫的開始時(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),