【发布时间】:2012-02-08 10:30:25
【问题描述】:
例如:
我将 UIView 的 alpha 属性设置为
alpha = 0,是否意味着它的opaque属性被视为opaque=YES?opaque,alpha和backgroundColor对性能有何影响?还有别的吗?...
类似问题
【问题讨论】:
标签: ios performance uiview alpha
例如:
我将 UIView 的 alpha 属性设置为alpha = 0,是否意味着它的opaque 属性被视为opaque=YES?
opaque,alpha 和 backgroundColor 对性能有何影响?
还有别的吗?...
【问题讨论】:
标签: ios performance uiview alpha
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;
Apple 的 documentation 解释了 opaque 属性的工作原理和方式:
这个属性为绘图系统提供了一个提示,说明它是如何实现的 应该对待视图。如果设置为 YES,绘图系统将处理 视图完全不透明,这允许绘图系统优化一些 绘图操作和提高性能。如果设置为 NO,则绘图 系统通常将视图与其他内容组合在一起。默认 此属性的值为 YES。
一个不透明的视图应该用完全不透明的填充它的边界 内容——也就是说,内容的 alpha 值应为 1.0。如果 视图是不透明的,要么不填充其边界,要么完全包含 或部分透明的内容,结果是不可预测的。你 如果视图是,则应始终将此属性的值设置为 NO 完全或部分透明。
【讨论】:
不透明的意思:
不透明
透明度含义:
看透,不透明
字母含义:
RGBA模型的发明者以经典线性插值公式中的希腊字母命名alphaαA + (1-α)B
为了理解,我们可以假设 alpha 在此图形和图像上下文中是 opaque 的同义词。
不透明、透明和 alpha 之间的关系:
不透明直接与 alpha 成比例 与透明度成反比 IE 增加 alpha 值会增加不透明并降低透明度
如果一个视图的 alpha 为 1.0,那么它是完全不透明的
如果一个视图的 alpha 为 0.0,那么它是完全透明的..
不透明、alpha 和背景色之间的关系:
他的 alpha 也会影响背景颜色的 alpha,即如果背景颜色为 0.5 透明并且 alpha 也是 0.5,这具有使背景视图的 alpha 为 0.25 (0.5 * 0.5) 的效果
不透明性能:
如果您将 opaque 设置为 YES,那么性能会提高,因为混合不会与底层视图或颜色发生
【讨论】: