Core Animation 動畫效果介紹
阿新 • • 發佈:2017-06-22
響應 respond 都是 ans 其他 cnblogs 速度 rep png
在開始之前呢,先了解一下UIView和CALayer大體的區別(重點列舉了以下四點):
- UIView繼承自 UIResponder,因此UIView 可以處理響應事件,而CALayer繼承自NSObject,所以它只是負責內容的創建,繪制。
- UIView負責對內容的管理,而CALayer則是對內容的繪制
- UIView中有關位置的屬性只有frame、bounds、center,而CALayer除了具備這些屬性之外還有anchorPoint、position。
- 通過修改CALayer可以實現UIView無法實現的很多高級功能
什麽是Core Animation?
Core Animation為iOS的核心動畫,它提供了一組豐富的API可以用於實現各種高級酷炫的動畫效果。Core Animation 書與QuartzCore.framework框架。
Core Animation的特點:
- 直接作用於CALayer圖層上,並非UIView上。
- Core Animation的執行過程在後臺執行,不阻塞主線程。
- 可以使用CALayer絕大多數屬性制作高級動畫效果。
Core Animation中常用類的繼承關系圖:
- CAMediaTiming 有很多動畫公共的屬性:比如常見的duration(動畫執行周期)、speed(速度)、repeatCount(重復次數)等一些公共的屬性
- CAAnimation 主要用於實現動畫的委托代理方法,比如動畫開始事件和動畫結束都是通過CAAnimation類實現的
- CAPropertyAnimation 屬性動畫,分為基礎動畫CABasicAnimation和關鍵幀動畫CAKeyframeAnimation。
- CAAnimationGroup 組合動畫,使用這個類可以把其他常用動畫組合在一起
- CATransition 轉場動畫,主要用於視圖控制器或者多個View之間的視圖切換場景
Core Animation 動畫效果介紹