iOS 記錄之 CGContext 透明背景

闡述

大部分業務情形下UI設計師會指定控件的背景顏色,但爲了更好的封裝,開發的時候往往將背景調整爲透明以便適配更多的場景。一般情況使用UIView簡單疊加封裝方式對調整顏色並不具有多大的難度,但在使用 CGContext 自定義控件時,調整背景還是有些“小坑”,這裏記錄一下相關的注意事項。

記錄

1 背景

通常我們使用 CGContext 自定義控件時,會使用 .setFillColor & .fill 聯動設置背景。(如下方)

但若想控件背景調整爲透明,使用上述方法得到的效果將與預期不同,背景是黑色。(如下方)

2 配置

正確的方式不是往內部填充顏色,而是將原有的顏色配置移除。即:

並且需要在當前控件的 init 方法或是 layoutSubviews 方法中,將控件背景設置爲透明,否則背景將還是黑色。(具體調整如下方)

 

實現的效果如下:

在官方文檔中,對 clear 方法的介紹是設置當前區域爲透明。

資料

1. https://stackoverflow.com/questions/2125543/setting-a-cgcontext-transparent-background

2. http://www.cocoachina.com/bbs/read.php?tid-86891-page-2.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章