iOS開發(fā)中,有很多設(shè)置透明的方法.
故事板上的一些設(shè)置
有以下幾個
-
第一個是view的顏色設(shè)置里面
1.opacity(譯為:不透明度)
點這里
這里是常用的顏色設(shè)置,和代碼創(chuàng)建的顏色設(shè)置是一樣的效果,但是要注意的是里面的opacity只是對顏色的設(shè)置,對容器中其他view并沒有什么影響
效果如下
opacity翻譯過來是不透明度的意思,但是在這里我只能理解為顏色的透明度,我感覺這個和PS或其他照片處理工具里調(diào)試的顏色透明差不多,
-
alpha
而和它意思相近的還有一個是上圖的background上面的alpha,和opacity作用是不同的,alpha意思為:透明度
對比看就是知道這個和opacity的區(qū)別了(上傳圖片壓縮,途中文字和北京是都變成透明的了)
最里層的view是藍色
也就是說alpha直接影響的是view以及內(nèi)部文字的透明,再看一下下面的圖片做一下對比會更清楚

這里我將中間層黃色view設(shè)置alpha為0.5,直接導(dǎo)致它的顏色透明能看到底層紅色,同時,也導(dǎo)致最里層藍色view和紅色重疊成紫色
所以這里的alpha是能直接影響view容器中也就是全局的所有子控件的顏色的!
至于聽說的透明度影響性能的說法:
他們在模擬器中運行內(nèi)存中的大小好像并沒有什么區(qū)別,但在實際運行的性能的影響有待驗證


3.Hidden
很直接,字面意思,是個BOOL值,勾選就直接隱藏掉了,代碼中作用一樣
4.opaque
沒有效果也最神奇的opaque
查資料顯示opaque是影響繪圖層的一個屬性,也是會影響性能的,個人有待證實,還不知道如何看出差別
opaque = YES,不透明; opaque = NO,透明
該屬性為BOOL值,UIView的默認(rèn)值是YES,但UIButton等子類的默認(rèn)值都是NO。opaque表示
當(dāng)前UIView是否不透明,不過搞笑的是事實上它卻決定不了當(dāng)前UIView是不是不透明,比如你將opaque
設(shè)為NO,該UIView照樣是可見的。其作用在于:給繪圖系統(tǒng)提供一個性能優(yōu)化開關(guān)。如果該值為YES,那么
繪圖在繪制該視圖的時候把整個視圖當(dāng)做不透明對待。這樣,繪圖系統(tǒng)在執(zhí)行繪圖過程中會優(yōu)化一些操作并
提供系統(tǒng)性能;如果是設(shè)置為NO,繪圖系統(tǒng)將其和其他內(nèi)容平等對待,不去做優(yōu)化操作。為了性能方面的考
量,默認(rèn)被置為YES(意味著優(yōu)化)。
來自CSDN作者u010850094的一片文章
ios開發(fā)之View屬性hidden, opaque, alpha, opacity的區(qū)別
該文章說明很詳細(xì),還有關(guān)于透明度對時間的響應(yīng)鏈的影響,都有說明.
而如果我們在代碼中設(shè)置使用 RGBA中的alpha設(shè)置透明度的話,效果效果一樣,是會影響到容器中的subView的透明度的



