UIView和CALayer的那些事兒

2021-07-10 03:24:57 字數 683 閱讀 5772

繼承結構

calayer的繼承結構為: nsobject

uiview是檢視的基類,uiviewcontroller是檢視控制器的基類,uiresponder是表示乙個可以在螢幕上響應觸控事件的物件;

所屬框架

calayer是在/system/library/frameworks/quartzcore.framework定義的。

作用機制

所以uiview相比calayer最大區別是uiview可以響應使用者事件,而calayer不可以。uiview側重於對顯示內容的管理,calayer側重於對內容的繪製。

uiview和calayer是相互依賴的關係。uiview依賴與calayer提供的內容,calayer依賴uiview提供的容器來顯示繪製的內容。歸根到底calayer是這一切的基礎,如果沒有calayer,uiview自身也不會存在,uiview是乙個特殊的calayer實現,新增了響應事件的能力。

uiview來自calayer,高於calayer,是calayer的高層實現與封裝。uiview的所有特性**於calayer支援。

UIView和CALayer的區別

1.uiview是ios系統中介面元素的基礎,所有的介面元素都繼承自它。它本身完全是由coreanimation來實現的 mac下似乎不是這樣 它真正的繪圖部分,是由乙個叫calayer coreanimationlayer 的類來管理。uiview本身,更像是乙個calayer的管理器,訪問它的跟...

UIView 和 CAlayer 的關係

calayer是uiview中的乙個屬性,我們在給乙個view設定圓角,邊框,陰影度,偏移度的時候都會用到這個屬性。比如 uiview view nil view.layer bordercolor uicolor redcolor cgcolor calayer是quartzcore庫內的類,是i...

UIView 和 CALayer 的區別和聯絡。

首先uiview可以響應事件,layer不可以。在 uiresponder中定義了處理各種事件和事件傳遞的介面,而calayer直接繼承 nsobject,並沒有相應的處理事件的介面。下面列舉一些處理觸控事件的介面 2.uiview主要是對顯示內容的管理而 calayer 主要側重顯示內容的繪製,c...