CALayer使用(未完待續)

2021-07-13 20:46:38 字數 1102 閱讀 1856

一、什麼是calayer

在ios系統中,你能看得到摸得著的東西基本都是uiview。比如乙個按鈕、乙個文字標籤、乙個文字輸入框、乙個圖示等等,這些都是uiview。

其實uiview之所以顯示在螢幕上,完全是因為它內部的乙個層。

在建立uiview物件時,uiview內部會自動建立乙個層(即calayer物件),通過uiview的layer屬性可以訪問這個層。當uiview需要顯示到螢幕上,會呼叫drawrect:方法進行繪圖,並且會將所有內容繪製在自己的層上,繪圖完畢後,系統會將層拷貝到螢幕上,於是完成了uiview的顯示。

二、calayer的簡單使用

上面已經說了,uiview能顯示東西完全是因為calayer物件,因此,通過操作這個calayer物件,可以很方便調整uiview的一些介面屬性,比如:陰影,圓角大小、邊框和顏色等。

calayer是被定義在quartzcore框架中的,因此要想使用calayer,先要匯入quartzcore框架。

三、uiview與calayer的選擇

uiview與calayer都可以新增一些顯示介面,並且顯示效果是一樣的,那麼我們究竟選擇誰呢?

其實,對比calayer,uiview多了乙個事件處理的功能,也就是說calayer不能處理使用者的觸控事件,而uiview可以,

所以,如果顯示出來的東西需要跟使用者進行互動的話,用uiview;如果不需要跟使用者進行互動兩者皆可,

當然,calayer的效能會高一些,因為它少了事件處理的功能,更加輕量級。

四、uiview與calayer的其他關係

1.uiview可以通過subviews屬性訪問所有的子檢視,類似的,calayer也可以通過sublayers屬性訪問所有子層。

2.uiview可以通過superview屬性訪問父檢視,類似的,calayer也可以通過superlayer屬性訪問父層。

nginx 未完待續

yum install y pcre yum install y pcre devel yum install y openssl yum install y openssl devel yum install y zlib yum install y gccyum安裝 yum install y ...

sqlparse(未完待續)

sqlparse.split sql,encoding none sql 包含乙個或多個sql語句的字串 encoding 語句的編碼 可選 sql select from foo select from bar sql list sqlparse.split sql print sql list ...

UML整理 未完待續

統一建模語言 unified modeling language,uml 一組用於描述和設計軟體的圖形表示法,通常用於物件導向設計領域。uml常見的9種圖 用例圖 描述系統的功能。類圖 描述系統的靜態結構 類及其相互關係 物件圖 描述系統在某個時刻的靜態結構 物件及其相互關係 順序圖 按時間順序描述...