[譯]《Motion Design for iOS》(十六)

Core Animation是一個動畫和圖形合成框架,用于提高速度和效率。雖然在名字中有動畫的單詞,不要讓它誤導你以為它只能做這個;它實際上負責屏幕上顯示的所有視圖的整體渲染體系結構,可以非??焖俚剡M行透明度計算、圖像過濾和視覺效果。它是為iOS創造的,但從OS X10.5開始,也可以在Mac上應用。


image

要通過GPU管理渲染在屏幕上的圖像內容,Core Animation使用CALayer對象作為主力。CALayer負責界面渲染,實際上,UIView對象只是CALayer的簡單封裝,而Core Animation在蘋果公司內部最初名為Layer Kit!當你在屏幕上操作一個UIView的布局或方向的時候,你實際上在移動它的CALayer。Core Animation在硬件層面管理合成并操作你app的界面內容,與顯卡對話并精簡你界面的渲染,讓它變得快速而不遲緩。iOS中所有的動畫性能都是由Core Animation框架實現的。


image

圖層可以像視圖一樣被層級安排來在屏幕上創建一個完整的用戶界面。你不是非得要用UIView對象來構建你的界面,也可以使用CALayer對象來代替,像視圖一樣將它們按照父視圖-子視圖的類型放置,只不過替換成父圖層-子圖層。

雖然你可以只是用CALayer不用視圖來實現一個app的界面,大部分的iOS開發者仍然都會使用UIView對象而不是直接使用CALayer對象來構建app界面,除非他們在做一些嚴肅的圖形處理或者一次性布局成百上千的圖形。如果你需要直接更改圖層屬性的話隨時都可以獲取一個視圖的圖層,比如說,設置一個視圖的圓角弧度就是通過操作視圖的CALayer屬性來完成的。

查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS


查看作者首頁

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容