視圖的圖層


iOS封裝的UIView動(dòng)畫實(shí)現(xiàn)很簡單狂丝,但是他的靈活性比較低涮母。CALayer是和UIView同層級的沪蓬。

CALayer的功能:

1.陰影跷叉,圓角休蟹,帶顏色的邊框

2.3D變換

3.非矩形范圍

4.透明遮罩

5.多級非線性動(dòng)畫

CALayer 有一個(gè)屬性叫做contents,這個(gè)屬性的類型被定義為id,意味著它可以是任何類型的對象于毙。但是如果不是CGImage的對象的話就沒什么效果。iOS開發(fā)中有個(gè)“Toll-free bridging”的名詞堪遂,意思是可以在某個(gè)框架的方法或函數(shù)同時(shí)使用Core Foundatio和Foundation 框架中的某些類型溶褪。

類型轉(zhuǎn)換關(guān)鍵字區(qū)別:

__bridge (相當(dāng)于assign 還是要自己管理對象)

__bridge_transfer(相當(dāng)于copy后release?? 轉(zhuǎn)讓了自己對對象的所有權(quán)交給別人去管理)

__bridge_retained(相當(dāng)于retain 增加額對象的引用計(jì)數(shù))

ok再看看contents真正要賦值的類型應(yīng)該是CGImageRef币旧,因?yàn)镃GImageRef并不是一個(gè)真正的Cocoa對象,而是一個(gè)Core Foundation類型猿妈。所以賦值的時(shí)候是這樣的layer.contents = (__bridge id)image.CGImage;

這樣我們就沒有用UIImageView展示一張圖片了吹菱,不過這時(shí)候你可能會(huì)發(fā)現(xiàn)問題,就是這個(gè)圖片可能看著不自然彭则。鳍刷。。其實(shí)是因?yàn)槔斓木壒省?/p>

有兩種解決辦法:

設(shè)置view的contentMode屬性可以進(jìn)行配置贰剥。

1.view.contentMode = UIViewContentModeScaleAspectFit;

2.view.layer.contentsGravity = kCAGravityResizeAspect;

這樣看著就不會(huì)拉伸了倾剿。

還有一個(gè)屬性叫做contentsScale,寄宿圖的像素尺寸和視圖大小的比例,默認(rèn)情況下它是一個(gè)值為1.0的浮點(diǎn)數(shù)蚌成。

View.layer.contentsScale = 4.f;//表示每個(gè)點(diǎn)由4個(gè)像素繪制前痘。

如果contentsGravity屬性是kCAGravityResizeAspect那么contentsScale就失效了。因?yàn)閗CAGravityResizeAspect僅僅是將圖片進(jìn)行拉伸適應(yīng)了而已

下面介紹一個(gè)強(qiáng)大的屬性contentsRect担忧,默認(rèn)的contentsRect是{0, 0, 1, 1}就是說整個(gè)寄宿圖就是可見的芹缔。前兩個(gè)參數(shù)就是距離原點(diǎn)的數(shù)值,后面的是顯示這個(gè)圖片的多少比例的圖像瓶盛。實(shí)際使用時(shí)可以利用這個(gè)屬性進(jìn)行拼接圖片最欠。


圓角屬性

CALayer有一個(gè)叫做conrnerRadius的屬性控制著圖層角的曲率,默認(rèn)0是直角,設(shè)置為寬高的一半的話就是一個(gè)圓惩猫;如果把CALayer的masksToBounds設(shè)置成YES的話芝硬,圖層里面的所有東西都會(huì)被截取。

陰影屬性

現(xiàn)在到處都是扁平化設(shè)計(jì)轧房,以至于陰影屬性一般用不到拌阴,但是陰影屬性本身還是很棒的,我有個(gè)設(shè)計(jì)朋友他就喜歡給他們?nèi)恿Ⅲw感的控件效果圖~~

1 奶镶、shadowOpacity屬性就是控制陰影強(qiáng)度的迟赃。

2陪拘、shadowColor屬性控制著陰影的顏色,和borderColor和backgroundColor一樣纤壁,它的類型也是CGColorRef左刽。

3、shadowOffset屬性控制著陰影的方向和距離酌媒。它是一個(gè)CGSize的值欠痴,寬度控制這陰影橫向的位移,高度控制著縱向的位移秒咨。shadowOffset的默認(rèn)值是 {0, -3}斋否,意即陰影相對于Y軸有3個(gè)點(diǎn)的向上位移。

4拭荤、shadowRadius屬性控制著陰影的模糊度茵臭,當(dāng)它的值是0的時(shí)候,陰影就和視圖一樣有一個(gè)非常確定的邊界線舅世。當(dāng)值越來越大的時(shí)候旦委,邊界線看上去就會(huì)越來越模糊和自然。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雏亚,一起剝皮案震驚了整個(gè)濱河市缨硝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罢低,老刑警劉巖查辩,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異网持,居然都是意外死亡宜岛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門功舀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萍倡,“玉大人,你說我怎么就攤上這事辟汰×星茫” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵帖汞,是天一觀的道長戴而。 經(jīng)常有香客問我,道長翩蘸,這世上最難降的妖魔是什么所意? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上扁眯,老公的妹妹穿的比我還像新娘。我一直安慰自己翅帜,他們只是感情好姻檀,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涝滴,像睡著了一般绣版。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歼疮,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天杂抽,我揣著相機(jī)與錄音,去河邊找鬼韩脏。 笑死缩麸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赡矢。 我是一名探鬼主播杭朱,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吹散!你這毒婦竟也來了弧械?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤空民,失蹤者是張志新(化名)和其女友劉穎刃唐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體界轩,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡画饥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浊猾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒澡。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖与殃,靈堂內(nèi)的尸體忽然破棺而出单山,到底是詐尸還是另有隱情,我是刑警寧澤幅疼,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布米奸,位于F島的核電站,受9級特大地震影響爽篷,放射性物質(zhì)發(fā)生泄漏悴晰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铡溪。 院中可真熱鬧漂辐,春花似錦、人聲如沸棕硫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哈扮。三九已至纬纪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滑肉,已是汗流浹背包各。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靶庙,地道東北人问畅。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像六荒,于是被迫代替她去往敵國和親按声。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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