添加alpha以查看VS将Alpha添加到UIColor

时间:2017-10-12 11:26:54

标签: ios swift alpha uicolor

写这个:

view.backgroundColor = UIColor.white.withAlphaComponent(0.9)

相当于:

view.backgroundColor = UIColor.white
view.alpha = 0.9

如果没有,有什么区别?

3 个答案:

答案 0 :(得分:2)

两者都不是等价的

案例1。仅向UIColor提供不透明度(透明度)

案例2。会给整个UIView提供不透明度(透明度)

使用第二个所有文本和其他对象(子视图)也将应用透明度。

您可以通过以下图片了解更多信息

colorView.backgroundColor = UIColor.white.withAlphaComponent(0.5) //First view Code

viewMain.alpha = 0.5 // second view code

两个视图都有蓝色背景颜色和黑色文本

enter image description here

那么应该使用哪一个: -

案例1。当您只想要UIColor的透明度时使用或者您希望在主视图后面显示视图,主要对象尽可能清晰。

案例2。当您想要透明地显示整个视图时使用。

答案 1 :(得分:1)

UIView中的内容受到更改UIView本身的alpha的影响。例如将它改为0.5将改变(好像,看起来像)UIView中的子视图到alpha 0.5。

更改背景颜色不会产生以下行为:子视图不受影响。

答案 2 :(得分:1)

简单解释

案例1:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)

它会减少特定视图的alpha颜色,即viewMain

案例2:

viewMain.alpha = 0.5

它会降低视图的不透明度,如果viewMain有多个视图,那么所有视图alpha都将减少该数量。

示例:

让你的视图层次结构就像这样

viewMain
     -> view1
         -> view2

现在来自 Case1 ViewMain的alpha只会减少。但在案例2 viewMain, view1, view2的alpha值将会降低。

如果没有层次结构,则两者都相同。

enter image description here

如果您有视图层次结构,那么它会生效如下

enter image description here