例如:
我将UIView的alpha属性设置为
alpha = 0
,这是否意味着它的opaque
属性被视为opaque=YES
?opaque
、alpha
和backgroundColor
如何影响性能?还有什么需要注意的吗?...
例如:
我将UIView的alpha属性设置为alpha = 0
,这是否意味着它的opaque
属性被视为opaque=YES
?
opaque
、alpha
和backgroundColor
如何影响性能?
还有什么需要注意的吗?...
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
设置为NO:
myView.opaque = NO;
苹果的文档解释了opaque
属性为什么以及如何工作:
该属性为绘图系统提供了一个提示,告诉它应如何处理视图。如果设置为YES,则绘图系统将视图视为完全不透明,这样可以优化某些绘图操作并提高性能。如果设置为NO,则绘图系统会正常地合成该视图与其他内容。此属性的默认值为YES。
不透明视图应填充其边界以完全不透明的内容 - 即内容应具有alpha值为1.0。如果视图是不透明的,并且未填充其边界或包含完全或部分透明的内容,则结果是不可预测的。如果视图是完全或部分透明的,则应始终将此属性的值设置为NO。
opaque 含义:
不透明的
transparency 含义:
透明,不是不透明的
alpha 含义:
RGBA 模型的发明者根据经典线性插值公式 αA + (1-α)B
中的希腊字母将其命名为 alpha。
我们可以假设在图形和图像上下文中 alpha 是不透明的同义词。
opaque、transparency 和 alpha 之间的关系:
opaque 与 alpha 成正比,与 transparency 成反比。
即 alpha 值的增加导致 opaque 的增加和 transparency 的减少。
如果视图的 alpha 为 1.0,则完全不透明。
如果视图的 alpha 为 0.0,则完全透明。
opaque、alpha 和 backgroundcolor 之间的关系:
alpha 还将影响背景颜色的 alpha,即如果背景颜色是 0.5 的透明度,并且 alpha 也是 0.5,则会使背景视图的 alpha 为 0.25(0.5 * 0.5)。
Opaque 性能:
如果将 opaque 设置为 YES,则性能将提高,因为不会与底层视图或颜色混合。