【问题标题】:What's the relationship among opaque, alpha, and backgroundColor of a UIView?UIView 的 opaque、alpha 和 backgroundColor 之间有什么关系?
【发布时间】:2012-02-08 10:30:25
【问题描述】:

例如:

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

  2. opaquealphabackgroundColor 对性能有何影响?

  3. 还有别的吗?...

类似问题

【问题讨论】:

    标签: ios performance uiview alpha


    【解决方案1】:

    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 完全或部分透明。

    【讨论】:

    • 很好的回复。它对我有很大帮助。
    【解决方案2】:

    不透明的意思:

    不透明

    透明度含义:

    看透,不透明

    字母含义:

    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,那么性能会提高,因为混合不会与底层视图或颜色发生

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-30
      • 2015-01-02
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2017-09-15
      • 2016-11-05
      相关资源
      最近更新 更多