? ? 我們都知道,ios里可以通過UIView的layer屬性為其設(shè)置圓角和陰影:
設(shè)置圓角:

注意:!!!上述兩個(gè)方法必須配合使用,圓角才會(huì)生效.
?設(shè)置陰影:

? ? 但是,我們也知道我們要給一個(gè)UIView同時(shí)設(shè)置圓角和陰影,直接操作一個(gè)view很顯然是行不通的.因?yàn)?b>一旦layer的maskToBounds屬性被設(shè)置為YES,表示對(duì)frame外的內(nèi)容作了裁剪,視圖只能顯示frame內(nèi)的內(nèi)容.那么,對(duì)于像超哥這樣有學(xué)習(xí)強(qiáng)迫癥的人非要造出一個(gè)帶陰影的圓角視圖該腫么辦呢???
? ? 我們都知道,程序猿都是偉大的騙紙.所以這里可以通過一個(gè)視覺騙局實(shí)現(xiàn)這個(gè)效果,反正小白用戶只關(guān)注結(jié)果,內(nèi)部的實(shí)現(xiàn)他也不懂...接下來,進(jìn)入正題.我們可以做兩個(gè)UIView重疊,一個(gè)layer負(fù)責(zé)顯示圓角,一個(gè)laye負(fù)責(zé)顯示陰影.然后把顯示圓角的view作為子視圖添加到顯示陰影的view上.
? ? 廢話少說,先上代碼:

運(yùn)行效果:


? ? 怎么?只看結(jié)果,是不是像是只對(duì)一個(gè)View進(jìn)行了操作.隨著自己對(duì)編程的逐步深入,越來越發(fā)現(xiàn)程序猿其實(shí)都是騙紙.不過這也算是美麗的謊言,畢竟是這些代碼的騙局實(shí)現(xiàn)了一個(gè)有一個(gè)炫酷有型的界面,給用戶帶來了不一樣的體驗(yàn)!
本文著作勸歸作者, 轉(zhuǎn)載請(qǐng)注明出處.大家都是程序猿,相互理解