? ? 我們都知道,ios里可以通過UIView的layer屬性為其設置圓角和陰影:
設置圓角:
設置圓角
注意:!!!上述兩個方法必須配合使用,圓角才會生效.
?設置陰影:
設置陰影
? ? 但是,我們也知道我們要給一個UIView同時設置圓角和陰影,直接操作一個view很顯然是行不通的.因為一旦layer的maskToBounds屬性被設置為YES,表示對frame外的內容作了裁剪,視圖只能顯示frame內的內容.那么,對于像超哥這樣有學習強迫癥的人非要造出一個帶陰影的圓角視圖該腫么辦呢???
? ? 我們都知道,程序猿都是偉大的騙紙.所以這里可以通過一個視覺騙局實現(xiàn)這個效果,反正小白用戶只關注結果,內部的實現(xiàn)他也不懂...接下來,進入正題.我們可以做兩個UIView重疊,一個layer負責顯示圓角,一個laye負責顯示陰影.然后把顯示圓角的view作為子視圖添加到顯示陰影的view上.
? ? 廢話少說,先上代碼:
為圓角View巧設陰影
運行效果:
效果圖1
效果圖2
? ? 怎么?只看結果,是不是像是只對一個View進行了操作.隨著自己對編程的逐步深入,越來越發(fā)現(xiàn)程序猿其實都是騙紙.不過這也算是美麗的謊言,畢竟是這些代碼的騙局實現(xiàn)了一個有一個炫酷有型的界面,給用戶帶來了不一樣的體驗!
本文著作勸歸作者, 轉載請注明出處.大家都是程序猿,相互理解