【问题标题】:Is UIView's opaque property with a value of YES in conflict with its backgroundColor property with a value of [UIColor clearColor]?UIView 的值为 YES 的 opaque 属性与其值为 [UIColor clearColor] 的 backgroundColor 属性是否冲突?
【发布时间】:2011-10-29 11:33:09
【问题描述】:

如代码:

view.opaque = YES;

view.backgroundColor = [UIColor clearColor];

谁能解释一下?

编辑:

如文档所示:

Declare Views as Opaque Whenever Possible

UIKit 使用每个视图的 opaque 属性来确定视图是否可以优化合成操作。对于自定义视图,将此属性的值设置为 YES 会告诉 UIKit 它不需要在视图后面呈现任何内容。较少的渲染可以提高您的绘图代码的性能,通常是鼓励的。当然,如果您将 opaque 属性设置为 YES,您的视图必须用完全不透明的内容完全填充其边界矩形。

opaque 属性用于确定视图是否可以优化合成操作。

所以问题是:

如果我设置view.opaque = YESview.backgroundColor = [UIColor clearColor],前者提高了性能,后者呢?

【问题讨论】:

    标签: ios uiview uikit


    【解决方案1】:

    不透明标志用作渲染的优化。如果在视图不应不透明时将其设置为 YES,如果您确实希望通过视图可见事物,则可能会出现意外渲染。

    我的理解是有时会检查不透明标志以查看是否应该检查 alpha 值。

    【讨论】:

      【解决方案2】:

      不,不应该。它应该表现得很清楚。颜色清晰是完全不透明的,如果这有道理的话。如果您更改其 alpha,它将不会显示为黑色或白色或其他任何内容。会很清楚的。

      【讨论】:

      • 我想知道你想说什么。你能解释一下吗?清除 == 完全透明,对吗?
      猜你喜欢
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 2015-08-28
      • 2014-08-01
      相关资源
      最近更新 更多