W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
????通過masksToBounds
屬性,我們可以沿邊界裁剪圖形;通過cornerRadius
屬性,我們還可以設(shè)定一個圓角。但是有時候你希望展現(xiàn)的內(nèi)容不是在一個矩形或圓角矩形。比如,你想展示一個有星形框架的圖片,又或者想讓一些古卷文字慢慢漸變成背景色,而不是一個突兀的邊界。
????使用一個32位有alpha通道的png圖片通常是創(chuàng)建一個無矩形視圖最方便的方法,你可以給它指定一個透明蒙板來實現(xiàn)。但是這個方法不能讓你以編碼的方式動態(tài)地生成蒙板,也不能讓子圖層或子視圖裁剪成同樣的形狀。
????CALayer有一個屬性叫做mask
可以解決這個問題。這個屬性本身就是個CALayer類型,有和其他圖層一樣的繪制和布局屬性。它類似于一個子圖層,相對于父圖層(即擁有該屬性的圖層)布局,但是它卻不是一個普通的子圖層。不同于那些繪制在父圖層中的子圖層,mask
圖層定義了父圖層的部分可見區(qū)域。
????mask
圖層的Color
屬性是無關(guān)緊要的,真正重要的是圖層的輪廓。mask
屬性就像是一個餅干切割機,mask
圖層實心的部分會被保留下來,其他的則會被拋棄。(如圖4.12)
????如果mask
圖層比父圖層要小,只有在mask
圖層里面的內(nèi)容才是它關(guān)心的,除此以外的一切都會被隱藏起來。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: