Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将alpha添加到视图与将alpha添加到UIColor_Ios_Swift_Alpha_Uicolor - Fatal编程技术网

Ios 将alpha添加到视图与将alpha添加到UIColor

Ios 将alpha添加到视图与将alpha添加到UIColor,ios,swift,alpha,uicolor,Ios,Swift,Alpha,Uicolor,他写的是: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 相当于: view.backgroundColor = UIColor.white view.alpha = 0.9 如果没有,有什么区别 更改UIView本身的alpha会影响UIView中的内容。例如,将其更改为0.5会将UIView中的子视图也更改为alpha 0.5 更改背景颜色不会产生以下行为:子视图不受影响。更改UIView自身的alpha会影响U

他写的是:

view.backgroundColor = UIColor.white.withAlphaComponent(0.9)
相当于:

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

如果没有,有什么区别

更改UIView本身的alpha会影响UIView中的内容。例如,将其更改为0.5会将UIView中的子视图也更改为alpha 0.5


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

更改UIView自身的alpha会影响UIView中的内容。例如,将其更改为0.5会将UIView中的子视图也更改为alpha 0.5


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

否两者不等效

情况1。将仅为UIColor提供不透明度(透明度)

情况2。将为整个视图提供不透明度(透明度)

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

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

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

viewMain.alpha = 0.5 // second view code
两个视图都有蓝色背景色和黑色文本

那么什么时候应该使用:-

案例1。当您只需要UIColor的透明度,或者希望在主视图后面显示视图,且主对象与实际一样清晰时,请使用


案例2。当您希望以透明方式显示整个视图时使用

不,两者并不等同

情况1。将仅为UIColor提供不透明度(透明度)

情况2。将为整个视图提供不透明度(透明度)

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

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

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

viewMain.alpha = 0.5 // second view code
两个视图都有蓝色背景色和黑色文本

那么什么时候应该使用:-

案例1。当您只需要UIColor的透明度,或者希望在主视图后面显示视图,且主对象与实际一样清晰时,请使用

案例2。当您希望以透明方式显示整个视图时使用

简单解释

案例1:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
它将减少特定视图的alpha颜色,即此处的
viewMain

案例2:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
它将降低视图的不透明度,如果viewMain有多个视图,则所有视图的透明度都将降低该值

示例:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
让我们假设您的视图层次结构是这样的

viewMain
     -> view1
         -> view2
现在从案例1开始,
ViewMain
的alpha值只会减少。但是在情况2中
viewMain、view1、view2
的alpha值将减少

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

如果您有视图层次结构,则其效果如下所示

简单解释

案例1:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
它将减少特定视图的alpha颜色,即此处的
viewMain

案例2:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
它将降低视图的不透明度,如果viewMain有多个视图,则所有视图的透明度都将降低该值

示例:

viewMain.backgroundColor = UIColor.white.withAlphaComponent(0.9)
viewMain.alpha = 0.5
让我们假设您的视图层次结构是这样的

viewMain
     -> view1
         -> view2
现在从案例1开始,
ViewMain
的alpha值只会减少。但是在情况2中
viewMain、view1、view2
的alpha值将减少

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

如果您有视图层次结构,则其效果如下所示


让我们忘记子视图,它是否为
视图提供相同的外观(相同颜色)?让我们忘记子视图,它是否为
视图提供相同的外观(相同颜色)?让我们忘记子视图,它是否为
主视图提供相同的外观(相同颜色)?@iOSGeek检查答案中的输出结果。如果仍然有疑问,请询问。让我们先忘掉子视图,它是否为
viewMain
(相同颜色)提供了相同的外观?@iOSGeek检查答案中的输出结果。如果仍有疑问,请询问。但这是否为视图提供了相同的结果(颜色)?@iOSGeek否,因为您可以看到UIColor中的透明度与其他不同,但这是否为视图提供了相同的结果(颜色)?@iOSGeek否,因为您可以看到UIColor中的透明度与其他不同