Core Animation --1-- UIview與CALayer區(qū)別聯(lián)系

在ios開發(fā)工作UIview對于我們開發(fā)者最常見也是常用到的,CALayer如果不是做炫酷的動(dòng)畫之類的效果接觸的要少很多,而且這問題還經(jīng)常ios應(yīng)聘面試上唄問到磕洪,有必要自我總結(jié)一把蓖捶。

1,UIView

UIview浙宜,ios中所有的視圖都是從這個(gè)基類中派生出來的。

@interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate>

從上面可以看出UIview繼承UIResponder蛹磺,而UIResponder 是集成NSObject的粟瞬。UIResponder是專門用來響應(yīng)用戶的操作處理各種事件的,包括觸摸事件(Touch Events)萤捆、運(yùn)動(dòng)事件(Motion Events)裙品、遠(yuǎn)程控制事件(Remote Control Events)俗批,它有UIview、UIApplication市怎、UIViewController等子類岁忘,其中比較特殊的UIWindow是直接繼承UIView的一個(gè)特殊View,所以這些類都是可以響應(yīng)事件区匠,也就是可以交互的干像。

(1)NSCoding協(xié)議

所有的原生類都實(shí)現(xiàn)這個(gè)協(xié)議,用于歸檔過程中的轉(zhuǎn)碼驰弄。這個(gè)協(xié)議中一共有兩個(gè)協(xié)議方法麻汰,而且是必須實(shí)現(xiàn)。其中一個(gè)是用于類本身進(jìn)行轉(zhuǎn)碼戚篙,一個(gè)是轉(zhuǎn)換成類的對象五鲫。

(2)UIAppearance協(xié)議和UIAppearanceContainer協(xié)議

這兩個(gè)協(xié)議規(guī)范UIKit的,允許開發(fā)者通過協(xié)議自定義控件所屬區(qū)域以呈現(xiàn)特定的外觀效果岔擂。

(3)UIDynamicItem

UIDynamicItem是iOS7新加特性位喂,用于支持UIView的物理引擎,可以讓我們自定義UI控件的物理特性(平衡球玩過沒B伊椤K苎隆)

(4)UITraitEnvironment

UITraitEnvironment這個(gè)接口主要跟Size Classes有關(guān),也就是跟視圖布局有關(guān)阔蛉。UITraitEnvironment接口中有一個(gè)traitCollection屬性弃舒,這個(gè)traitCollection屬性的對象包含Size Class,有利于進(jìn)一步確定頁面布局状原。

UITraitEnvironment詳情資料:https://onevcat.com/2014/07/ios-ui-unique/

(5)UICoordinateSpace

UICoordinateSpace協(xié)議主要用來處理iOS8以后的window和screen之間的坐標(biāo)轉(zhuǎn)換問題。

(6)UIFocusItem

沒了解過苗踪,有了解的歡迎回復(fù)颠区!

(7)CALayerDelegate

CALayerDelegate中有有CALayer展示過程控制的方法,也有響應(yīng)action的方法- (nullable id)actionForLayer:(CALayer *)layer forKey:(NSString *)event;可以獲取響應(yīng)的是那個(gè)layer通铲。

UIview中具體的屬性和方法不做解釋毕莱,從UIview繼承類和實(shí)現(xiàn)的協(xié)議代理上可以看出UIview可以處理觸摸事件,可以繪圖颅夺,支持物理特性朋截,可以做簡單的動(dòng)畫。

2吧黄,CALayer

CALayer類在概念上和UIView類似部服,同樣也是一些被層級(jí)關(guān)系樹管理的矩形塊,同樣也可以包含一些內(nèi)容(像圖片拗慨,文本或者背景色)廓八,管理子圖層的位置奉芦。它們有一些方法和屬性用來做動(dòng)畫和變換。

CALayer : NSObject<NSCoding, CAMediaTiming>

其中CAMediaTiming協(xié)議是一個(gè)控制layer圖層展示效果中時(shí)間剧蹂,速度各種屬性的


3声功,UIview與CALayer區(qū)別聯(lián)系--總結(jié)

區(qū)別:UIview與CALayer最大的不同就是CALayer不能處理用戶交互問題,而UIView可以宠叼。CALayer并不清楚具體的響應(yīng)鏈(iOS通過視圖層級(jí)關(guān)系用來傳送觸摸事件的機(jī)制)先巴,因此它并不能夠響應(yīng)事件,即使它提供了一些方法來判斷是否一個(gè)觸點(diǎn)在圖層的范圍冒冬。

聯(lián)系:每個(gè)UIview都有一個(gè)CALayer實(shí)例的圖層屬性--backing layer伸蚯,layer管理控制著視圖的繪制和顯示并提供相應(yīng)的尺寸樣式。

個(gè)人整理總結(jié)窄驹,不喜勿噴朝卒,謝謝!乐埠!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抗斤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子丈咐,更是在濱河造成了極大的恐慌瑞眼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棵逊,死亡現(xiàn)場離奇詭異伤疙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辆影,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門徒像,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛙讥,你說我怎么就攤上這事锯蛀。” “怎么了次慢?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵旁涤,是天一觀的道長。 經(jīng)常有香客問我迫像,道長劈愚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任闻妓,我火速辦了婚禮菌羽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纷闺。我一直安慰自己算凿,他們只是感情好份蝴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氓轰,像睡著了一般婚夫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上署鸡,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天案糙,我揣著相機(jī)與錄音,去河邊找鬼靴庆。 笑死时捌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炉抒。 我是一名探鬼主播奢讨,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼焰薄!你這毒婦竟也來了拿诸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤塞茅,失蹤者是張志新(化名)和其女友劉穎亩码,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體野瘦,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡描沟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鞭光。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吏廉。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惰许,靈堂內(nèi)的尸體忽然破棺而出迟蜜,到底是詐尸還是另有隱情,我是刑警寧澤啡省,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站髓霞,受9級(jí)特大地震影響卦睹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜方库,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一结序、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纵潦,春花似錦徐鹤、人聲如沸垃环。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遂庄。三九已至,卻和暖如春劲赠,著一層夾襖步出監(jiān)牢的瞬間涛目,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工凛澎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留霹肝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓塑煎,卻偏偏與公主長得像沫换,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子最铁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容