Core Animation文檔翻譯 (第一篇)—序言

 


 

前言html

做爲iOS 開發,官方文檔的閱讀是頗有必要的,值此週末便寫下此文。做爲iOS 實際經驗3年的開發,以前有閱讀並實踐過經典的<iOS核心動畫高級技巧>,其gitbook地址,然總覺此書的翻譯版,較於目前的CoreAnimation 官方文檔的有所空缺,故生念,願有所補缺,便着手翻譯CoreAnimation,若有紕漏,望各位兄臺不吝賜教。ios

補充:關於OS X的內容將基本不作翻譯(除非關聯iOS的對比)。git


 

關於 Core Animation(如下翻譯爲:核心動畫)架構

核心動畫是可用於iOS和OS X平臺上實現APP 內部Views和其餘可視化元素製做動畫效果的圖形渲染和圖形動畫的基礎工具;藉助核心動畫,它幫咱們完成了繪製動畫中每一幀的大部分工做。咱們須要作的僅僅是去配置少許的動畫參數(例如開始和結束的點),並啓動核心動畫,核心動畫完成剩餘的工做,將大部分實際繪圖工做交給 內部繪圖硬件加速渲染。這種自動繪圖加速在不加劇CPU的負載和減緩咱們APP運行的同時達到高幀率和流暢的動畫效果。app

若是你正在開發iOS APP,你將無時無刻的使用核心動畫,無論你是否意識到,若是你正在開發OS XAPP,你也能經過極小的工做量 充分使用核心動畫。核心動畫 包含在AppKit和UIKit中,並被牢牢的集合在Cocoa 和Cocoa Touch 中View 的工做原理流程中。固然,核心動畫也暴露有關於 View 的擴展功能的接口,這些接口API 給出許多詳細的控制關於APP動畫效果。ide

       

初窺工具

你可能永遠不須要直接使用核心動畫,可是咱們須要理解核心動畫 扮演了咱們APP一部分基礎設施的角色。性能

核心動畫管理咱們APP的顯示內容動畫

核心動畫自己不是繪製系統,他就是一個做爲 合成並操做APP 顯示內容的基礎工具。這個基礎工具的核心即是Layer 對象,Layer 管理 並操控 顯示內容,Layer 捕獲顯示內容放進 可以很容易被繪圖硬件操做解析的bitmap中。在大部分APP 中,Layer 被做爲View 的屬性 管理顯示內容,可是若是有須要的話,咱們能夠建立單獨的Layer。ui

《相關章節:Core Animation BasicsSetting Up Layer Objects》:(後續會有譯文)

 Layer 的修改會觸發動畫

大部分使用核心動畫建立的動畫涉及到Layer的屬性修改。例如View 和Layer對象有bounds ,position ,opacity,transform,和許其餘可修改的視覺導向的屬性, 改變這些屬性的值將觸發Layer動畫發生從舊值到新值的隱式動畫。當咱們想要去控制更多的動畫效果時候,咱們也能夠調整這些屬性作顯式動畫

《相關章節: Animating Layer ContentAdvanced Animation TricksLayer Style Property AnimationsAnimatable Properties》:(後續會有譯文)

Layers 的層次化

Layers 之間創建父子關係來層次化管理。這種Layers的層次化管理方式將會像Views層次化管理同樣,會影響Layers的顯示內容。 做爲View 的屬性的Layers的層次,可以反映出Layers對應的View的層次。咱們也能夠將單首創建的Layer 添加到Layer 層次中,以便擴充APP的顯示內容,而不只是使用Views。

《相關章節:Building a Layer Hierarchy 》:(後續會有譯文)

Actions 使咱們改變Layer的默認動畫行爲  

隱式Layer 動畫是經過使用 Action 對象達到的,Action 是包含預先定義的動畫效果的對象類型。核心動畫使用Action 對象執行和Layer 關聯的 默認動畫集合。咱們也能夠建立本身的Action對象實現自定義的動畫、實現其餘種類的動效。咱們關聯自定義的Action 對象到一個Layer的屬性,當那個屬性變化的時候,核心動畫會取出咱們的Action對象並執行這個Action.

《相關章節: Changing a Layer’s Default Behavior》:(後續會有譯文)

如何使用這個文檔

這個文檔是爲了那些想控制他們APP的動畫,或者想要使用Layers 去提高繪製性能的人而寫。這個文檔也提供基於iOS與OS X平臺內Layer 和View之間的相互關係的講解。Layer 和View 之間的相互關係在iOS和OS X具備必定的差別,而且理解這些差別對於建立更高效的動畫性能很重要。

所需預備知識

你應該已經理解你所開發的目標平臺的View的結構,並熟悉如何建立基於View的動畫。若是你沒有這些基礎知識,你應該讀如下文檔:

1.對於iOS APP,瞭解View的架構描述經過  View Programming Guide for iOS.

2.對於OS X APP,瞭解View的架構描述經過  View Programming Guide.

注:後續我將會有新的翻譯更新,以爲不錯的朋友能夠暫等下

相關文章
相關標籤/搜索