1.UIView概述
? ? ? ?UIView是IOS中負責顯示視圖的,并且負責處理視圖的點擊交互繪畫等功能擅羞,起碼從表面看起來是這樣的惊来,他是IOS所有View的父類,比如UILable躁锁,UIImageView,UITextView等卵史,如果IOS系統(tǒng)是MVC架構模式战转,UIView就是其中的V,就負責視圖的展示和交互邏輯的處理以躯。
2.CALayer概述
? ? ? ?從官網上看槐秧,CALayer并不是IOS自帶的UIKit框架,它是屬于QuartzCore框架寸潦,這個框架是一個專業(yè)的跨平臺繪制框架色鸳,同時兼容IOS和 OS X,說白了CALayer就是個繪畫工具類见转。
3.UIView和CALayer的關系
? ? ? ?剛才介紹UIView的時候我說,表面看起事來UIView也是負責繪制的蒜哀,其實他只負責用戶交互和展示視圖斩箫,而繪制是用CALayer完成的,我們在初始化一個UIView的時候其實撵儿,內部已經初始化了一個它內置的CALayer對象乘客,我們在設置所有UIView的屬性的時候,比如bounds淀歇,frame易核,backgroundColor等,其實最終都是設置的CALayer的相應的屬性值浪默,然后有CALayer來繪制出來牡直,再有UIView展示出來而已缀匕,UIView是一個甘愿默默付出的背后工作者,所有的風光都給了UIView而已碰逸,但我們要知道這只是表面現(xiàn)象乡小,這對今后我們自定義UIView和理解動畫原理以及使用動畫都會有很大的幫住。