CoreAnimation程式設計指南翻譯(一):關於Core Animation
Core Animation
是一個用於影象繪製和動畫渲染的基礎框架, 同時相容iOS和OS X平臺. 使用 Core Animation
可以很便捷的為應用程式的檢視或其他視覺化元素新增動畫. 因為繪製動畫的大部分工作都由 Core Animation
完成, 開發者只需要配置一些動畫引數(比如動畫的起始點和結束點), 然後告訴 Core Animation
開始執行動畫即可. 接下來, Core Animation
會把大部分的實際繪製工作交給專門的圖形硬體. 這就保證了動畫的高幀率和流暢性, 而且不會對CPU造成額外的負擔.
Core Animation
位於 UIKit
和 AppKit
框架之下, 並且與 Cocoa
和 Cocoa Touch
的檢視工作流程緊密相關. 當然, Core Animation
也開放了一些介面用於擴充檢視功能, 以及為動畫提供更精細的控制.
概覽
開發者也許並不會直接使用 Core Animation
, 但必要時, 也應理解 Core Animation
在應用程式基礎框架所扮演的角色.
Core Animation與應用內容
Core Animation
本身並不是一個繪圖系統, 而是在硬體角度上對應用的內容進行合成和控制. Core Animation
的核心是圖層(CALayer), 可以使用圖層來管理和操作應用程式的內容. 一個圖層物件可以將內容捕獲為一個 bitmap , 然後提供給圖形硬體進行下一步操作. 在大部分應用中, 圖層物件負責檢視(UIView)內容的展示, 但是也可以根據需求建立單獨的圖層物件.
相關章節: Core Animation基礎 , 設定圖層物件
圖層與動畫
使用 Core Animation
建立的動畫大部分都涉及到圖層屬性的修改. 與檢視類似, 圖層物件也擁有bounds, position, poacity, transform以及其他一些可修改的視覺屬性. 對大部分的圖層屬性來說, 修改屬性的值都會預設建立一個隱式動畫. 開發者也可以使用圖層的這些視覺屬性來顯式建立更精細的動畫.
相關章節: 圖層動畫 , 高階動畫技巧 , 圖層樣式動畫 , 可動畫的屬性列表
圖層樹
一個圖層也可以包含另一個圖層, 即這兩個圖層擁有父子關係. 圖層可以擁有和檢視類似的組織方式, 可以建立獨立圖層新增到圖層樹中, 擴充套件應用的視覺化內容.
相關章節: 建立圖層樹
修改圖層的預設行為
Core Animation
的隱式圖層動畫使用操作(CAAction)物件實現. 操作物件實現了預定義到介面. 開發者可以通過自定義操作物件實現自定義動畫或其他自定義行為, 然後將操作物件指定給圖層的某個屬性, 當這個屬性的值發生改變時, Core Animation
會通知對應的操作物件執行自定義操作.
相關章節: 修改圖層的預設行為
如何使用本文件
本文件的目標使用者是想要實現更精細動畫, 或是想要提升應用程式繪製效能的開發者. 另外, 本文件中還提供了iOS和OS X的圖層和檢視之間整合的相關資訊. 檢視和圖層的整合在iOS和OS X中有所差異, 這些差異對建立動畫至關重要.
前提條件
閱讀本文件的使用者需要了解相應平臺的檢視架構, 並熟悉如何建立檢視動畫. 否則, 應先根據平臺選擇閱讀以下兩個文件之一:
- 對於iOS應用, 應先學習 View Programming Guide for iOS .
- 對於OS X應用, 應先學習 View Programming Guide .