实现drawRect时忽略UIView opaque属性:

时间:2013-02-20 22:41:46

标签: iphone ios objective-c xcode ipad

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

1 个答案:

答案 0 :(得分:0)

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

  

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

因此在drawRect方法中,如果绘制一些不透明图层,则应确保将视图的opaque属性值设置为NO。

UIView reference