2017-02-11 143 views
0

非常簡單的問題:我想更改UIView的不透明度,並將字體保持在alpha = 1.0以上。更改UIView的alpha值會影響字體的不透明度

enter image description here

enter image description here

因此,大家可以看到有兩個labeles下他們是UIView的。我已經設置了UIView的opcaity(例如:@IBOutlet weak var coView: UIView!self.coView.alpha = 0.8)。結果是UIView和標籤都更加透明,我希望標籤的文本保持在alpha = 1.0。是否可以在不更改堆棧視圖和約束的情況下執行?

回答

2

使用

coView.backgroundColor = UIColor.black.withAlphaComponent(0.8) 

它的超級煩人,而不是你想要的,但它是一種解決方法。它使用alpha值設置coView的背景顏色,從而有效地爲您提供所需的內容。

+0

真棒!!!!你做到了 –

1

更改UIView的alpha值會更改所有子視圖如何看到新的alpha集。沒有辦法實際避免這種情況,但您可以通過使用其他輔助視圖來解決此問題。

例如,在您的UIView pm中,您可以在另一個名爲backgroundView的子視圖中位於背面,這就是您設置背景顏色的子視圖。您的UIView pm中的其他元素將位於backgroundView的頂部,背景顏色清晰。

如果你想只改變顏色的Alpha,你只需要改變阿爾法的backgroundViewUIView pm其他元素將保持與同阿爾法

+0

這可能適用,但我有幾個動畫,所以有太多的改變要做。其他答案稍好一點,但也不完美。 – codddeer123