2017-02-11 133 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

相关问题