UIView 的值为 YES 的不透明属性是否与其值为 [UIColor clearColor] 的背景颜色属性冲突?



如代码:

view.opaque = YES;

view.backgroundColor = [UIColor clearColor];
有谁能解释一下这个吗?编辑:

如文档所示:

尽可能将视图声明为不透明

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

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

所以问题是:

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

不透明标志用于渲染优化。如果你把它设置为YES,当视图不应该是不透明的,你可以得到意外的渲染,如果你真的想要的东西通过视图可见。

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

不,不应该。它应该采取明确的行动。透明的颜色是完全不透明的,如果这有意义的话。如果改变它的alpha值,它就不会显示黑色或白色或其他颜色。

最新更新