UIView属性的opaque,alpha和backgroundColor之间的关系是什么?

Emi*_*ily 10 performance alpha uiview ios

例如:

  1. 我将UIView的alpha属性设置为alpha = 0,这是否意味着它的opaque属性被视为opaque=YES

  2. 如何opaque,alphabackgroundColor影响性能?

  3. 还要别的吗?...

类似的问题

bry*_*ark 24

backgroundColor是一个出现在背面的颜色UIView.默认情况下,它会nil产生明确的背景颜色UIView.要为您指定背景,请UIView指定UIColor如下:

myView.backgroundColor = [UIColor greenColor];
Run Code Online (Sandbox Code Playgroud)

您还可以将其设置为backgroundColor图像:

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed@"myImage"]];
Run Code Online (Sandbox Code Playgroud)

alpha是视图的不透明度.您可以使用此属性淡化a UIView并使其部分透明.该值的范围可以从0(完全不可见)到1(完全不透明).


opaque是一个布尔值,指示是否UIView是不透明的.如果您将设置alpha为小于1的任何值,则应设置opaque为NO:

myView.opaque = NO;
Run Code Online (Sandbox Code Playgroud)

Apple的文档解释了该opaque属性的工作原理和方式:

此属性为绘图系统提供了如何处理视图的提示.如果设置为YES,则绘图系统将视图视为完全不透明,这允许绘图系统优化某些绘图操作并提高性能.如果设置为NO,则绘图系统通常将视图与其他内容合成.此属性的默认值为YES.

预计不透明视图将使用完全不透明的内容填充其边界 - 也就是说,内容的alpha值应为1.0.如果视图不透明并且未填充其边界或包含完全或部分透明的内容,则结果是不可预测的.如果视图完全透明或部分透明,则应始终将此属性的值设置为NO.


Dur*_*n.H 6

不透明的含义:

不透明

透明度意义:

透视,不透明

alpha含义:

RGBA模型的发明者在经典线性插值公式中的希腊字母之后命名为alpha ?A + (1-?)B

要理解我们可以假设alpha是此图形和图像上下文中opaque的同义词.

不透明,透明度和alpha之间的关系:

不透明直接与α相反,反向与透明度相反,即α值的增加导致不透明度的增加,并降低透明度

如果视图的alpha为1.0,则它完全不透明

如果视图的alpha为0.0,那么它是完全透明的..

不透明,alpha和backgroundcolor之间的关系:

alpha也将影响背景颜色的alpha,即如果背景颜色为0.5透明且alpha也为0.5,则会产生使背景视图的alpha为0.25(0.5*0.5)的效果

不透明的性能:

如果你将opaque设置为YES,那么性能会有所提高,因为混合不会发生在底层视图或颜色上