UIView與CALayer

? ? ? ?UIView和CALayer概念上很相似,是一些被層級關(guān)系樹管理的矩形塊,同樣也可以包含一些內(nèi)容,管理子圖層的位置。

? ? ? ? UIView:屬于UIKit.framework框架,繼承于UIResponder,響應(yīng)區(qū)域的觸摸事件、布局和管理一個或者多個子視圖。

? ? ? ? CALAyer:屬于QuartzCore.framework,是用來繪制內(nèi)容的,對內(nèi)容進行動畫處理,繼承于NSObject,不能處理用戶事件。

? ? ? ?每一個UIView都有一個CALayer實例的圖層屬性,我們也可以通過UIView的layer屬性訪問這個圖層。UIView的職責(zé)就是創(chuàng)建并管理這個圖層,以確保當(dāng)子視圖在層級關(guān)系中添加或者被移除的時候,他們關(guān)聯(lián)的圖層也同樣對應(yīng)在層級關(guān)系樹中執(zhí)行相同的操作。

? ? ? ? 對于UIView視圖來說真正的負(fù)責(zé)內(nèi)容展示的其實是它內(nèi)部的CALayer,UIView只是將自身的展示任務(wù)交給了內(nèi)部的CALayer完成,而它還肩負(fù)著一些其它的任務(wù),比如說用戶的交互響應(yīng),提供一些Core Animation底層方法的高級接口等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容