1. 程式人生 > >Core Animation 動畫效果介紹

Core Animation 動畫效果介紹

響應 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 動畫效果介紹