從UIView與Layer的愛恨情仇開始

“在iOS當(dāng)中狸捅,所有的視圖都從一個(gè)叫做UIVIew的基類派生而來壮不,UIView可以處理觸摸事件血淌,可以支持基于Core Graphics繪圖顽馋,可以做仿射變換(例如旋轉(zhuǎn)或者縮放)谓厘,或者簡單的類似于滑”

“CALayer類在概念上和UIView類似,同樣也是一些被層級(jí)關(guān)系樹管理的矩形塊寸谜,同樣也可以包含一些內(nèi)容(像圖片竟稳,文本或者背景色),管理子圖層的位置熊痴。它們有一些方法和屬性用來做動(dòng)畫和變換他爸。和UIView最大的不同是CALayer不處理用戶的交互”
CALayer并不清楚具體的響應(yīng)鏈,即使它提供了一些方法判斷某個(gè)觸點(diǎn)是否在某個(gè)范圍內(nèi).
“每一個(gè)UIview都有一個(gè)CALayer實(shí)例的圖層屬性,也就是所謂的backing layer果善,視圖的職責(zé)就是創(chuàng)建并管理這個(gè)圖層诊笤,以確保當(dāng)子視圖在層級(jí)關(guān)系中添加或者被移除的時(shí)候,他們關(guān)聯(lián)的圖層也同樣對(duì)應(yīng)在層級(jí)關(guān)系樹當(dāng)中有相同的操作巾陕。 ”

“但是為什么iOS要基于UIView和CALayer提供兩個(gè)平行的層級(jí)關(guān)系呢讨跟?為什么不用一個(gè)簡單的層級(jí)來處理所有事情呢?原因在于要做職責(zé)分離鄙煤,這樣也能避免很多重復(fù)代碼晾匠。在iOS和Mac OS兩個(gè)平臺(tái)上,事件和用戶交互有很多地方的不同梯刚,基于多點(diǎn)觸控的用戶界面和基于鼠標(biāo)鍵盤有著本質(zhì)的區(qū)別混聊,這就是為什么iOS有UIKit和UIView,但是Mac OS有AppKit和NSView的原因。他們功能上很相似句喜,但是在實(shí)現(xiàn)上有著顯著的區(qū)別预愤。”

雖然蘋果封裝好了一些動(dòng)畫,方便了我們的使用,但是弊端同樣存在

有一些UIView沒有暴露出來的CALayer的功能:
陰影咳胃,圓角植康,帶顏色的邊框
3D變換
非矩形范圍
透明遮罩
多級(jí)非線性動(dòng)畫

廢話少說,操練起來:

img
img

我曹,好大的圖

來不及解釋,layer的contents屬性,快上車

_whiteView.layer.contents=(__bridge id)[UIImage imageNamed:@"callBg"].CGImage;
CALayer *blueLayer = [CALayer new];
blueLayer.frame = CGRectMake(50, 50, 40, 40);
blueLayer.backgroundColor = [UIColor redColor].CGColor;

UIImage *image = [UIImage imageNamed:@"chat_video_play"];
blueLayer.contents = (__bridge id)image.CGImage;
[_whiteView.layer addSublayer:blueLayer];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市展懈,隨后出現(xiàn)的幾起案子销睁,更是在濱河造成了極大的恐慌,老刑警劉巖存崖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冻记,死亡現(xiàn)場離奇詭異,居然都是意外死亡来惧,警方通過查閱死者的電腦和手機(jī)冗栗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來供搀,“玉大人隅居,你說我怎么就攤上這事「鹋埃” “怎么了胎源?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屿脐。 經(jīng)常有香客問我涕蚤,道長,這世上最難降的妖魔是什么的诵? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任万栅,我火速辦了婚禮,結(jié)果婚禮上奢驯,老公的妹妹穿的比我還像新娘申钩。我一直安慰自己次绘,他們只是感情好瘪阁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著邮偎,像睡著了一般管跺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上禾进,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天豁跑,我揣著相機(jī)與錄音,去河邊找鬼泻云。 笑死艇拍,一個(gè)胖子當(dāng)著我的面吹牛狐蜕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卸夕,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼层释,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了快集?” 一聲冷哼從身側(cè)響起贡羔,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎个初,沒想到半個(gè)月后乖寒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡院溺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年楣嘁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片覆获。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡马澈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弄息,到底是詐尸還是另有隱情痊班,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布摹量,位于F島的核電站涤伐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缨称。R本人自食惡果不足惜凝果,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睦尽。 院中可真熱鬧器净,春花似錦、人聲如沸当凡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沿量。三九已至浪慌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朴则,已是汗流浹背权纤。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人汹想。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓外邓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親古掏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坐榆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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

  • Core Animation其實(shí)是一個(gè)令人誤解的命名。你可能認(rèn)為它只是用來做動(dòng)畫的冗茸,但實(shí)際上它是從一個(gè)叫做Laye...
    小貓仔閱讀 3,708評(píng)論 1 4
  • 本文轉(zhuǎn)載自:http://www.cocoachina.com/ios/20150104/10814.html ...
    idiot_lin閱讀 1,565評(píng)論 0 11
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果席镀,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫全貌夏漱。在這里你可以看...
    每天刷兩次牙閱讀 8,485評(píng)論 6 30
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果豪诲,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫全貌挂绰。在這里你可以看...
    F麥子閱讀 5,110評(píng)論 5 13
  • 轉(zhuǎn)載:http://www.reibang.com/p/32fcadd12108 每個(gè)UIView有一個(gè)伙伴稱為l...
    F麥子閱讀 6,196評(píng)論 0 13