繁体   English   中英

实现drawRect时,将忽略UIView的opaque属性:

[英]UIView opaque property is ignored when implementing drawRect:

我有一个UIView子类,它重写了drawRect:以实现各种效果(渐变背景,具有不同半径的圆角等)。 当我对应用程序进行配置文件并在模拟器/仪器中启用颜色混合图层时,此类的实例永远不会是绿色的,即使它只是绘制实心渐变并将opaque属性设置为YES。 在drawRect中有什么特别的事情:为了尊重该属性?

可能是您应该将“ opaque”属性设置为NO,如Apple Doc所说:

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

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

UIView参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM