2

我有一个覆盖 drawRect 的 UIView 子类:以实现各种效果(渐变背景、具有不同半径的圆角等)。当我分析应用程序并在模拟器/仪器中启用颜色混合层时,此类的实例永远不会是绿色的,即使它只是绘制一个纯色渐变并且将 opaque 属性设置为 YES。在 drawRect: 中是否有什么特别的事情要做才能尊重该属性?

4

1 回答 1

0

正如Apple Doc所说,您可能应该将“不透明”属性设置为 NO :

一个不透明的视图应该用完全不透明的内容填充它的边界——也就是说,内容的 alpha 值应该是 1.0。如果视图是不透明的并且没有填充其边界或包含完全或部分透明的内容,则结果是不可预测的。如果视图完全或部分透明,则应始终将此属性的值设置为 NO。

所以在drawRect方法中,如果你画了一些不透明的图层,你应该确保视图的不透明属性的值设置为NO。

UIView 参考

于 2013-04-13T03:18:50.727 回答