UIView的不透明、alpha和背景颜色之间有什么关系?

问题描述 投票:10回答:2

举个例子

  1. 我把UIView的alpha属性设置为 alpha = 0这是否意味着它的 opaque 视同 opaque=YES?

  2. 怎么会呢?opaquealphabackgroundColor 影响性能?

  3. 还有什么其他问题吗...

类似问题

ios performance uiview alpha
2个回答
24
投票

backgroundColor 后面出现的颜色是什么?UIView. 默认情况下,它是 nil的背景色,从而使 UIView. 要为您的背景指定 UIView,指定一个 UIColor 像这样。

myView.backgroundColor = [UIColor greenColor];

你也可以设置 backgroundColor 是一个图像。

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed@"myImage"]];

alpha 是视图的不透明度。你可以使用这个属性来淡化一个 UIView 并使其部分透明。该值的范围可以从0(完全不可见)到1(完全不透明)。


opaque 是一个布尔值,表示是否要将 UIView 是否不透明。如果你把 alpha 小于1,那么你应该将 opaque 到不。

myView.opaque = NO;

苹果公司的 文件 解释了为什么以及如何 opaque 属性的作用。

此属性为绘图系统提供了一个提示,说明它应该如何处理视图。如果设置为YES,则绘图系统将视图视为完全不透明的,这使得绘图系统可以优化一些绘图操作,提高性能。如果设置为 NO,则绘图系统将视图与其他内容正常合成。此属性的默认值为 YES。

一个不透明的视图应该用完全不透明的内容填充其边界--也就是说,内容的alpha值应该是1.0。如果视图是不透明的,并且没有填满它的边界,或者包含完全或部分透明的内容,那么结果就无法预测。如果视图是完全或部分透明的,您应该始终将此属性的值设置为NO。


6
投票

不透明的含义。

不透明

透明的意思。

看得透,而不是不透明

alpha的含义。

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

为了理解,我们可以假设alpha是不透明的同义词,在这个图形和图像的背景下。

不透明、透明度和alpha之间的关系。

不透明与alpha直接相关,与透明度成反比,即alpha值的增加导致不透明增加,透明度降低。

如果一个视图的alpha是1.0,那么它是完全不透明的。

如果一个视图的alpha为0.0,那么它就是完全透明的。

不透明,alpha和背景色之间的关系,alpha也会影响背景色的alpha。

他的alpha也会影响到背景色的alpha,即如果背景色是0.5透明的,而alpha也是0.5,这就会使背景视图的alpha为0.25(0.5*0.5)。

不透明的表现。

如果你把不透明设置为 "是",那么性能就会增加,因为不会与底层视图或颜色进行混合。

© www.soinside.com 2019 - 2024. All rights reserved.