UIView:不透明vs. alpha vs.不透明度

2020/12/01 00:22 · ios ·  · 0评论

opaque alphaUIView如何与背景的不透明度一起工作,它们之间有什么区别?

UIView http://i.minus.com/jb2IP8TXbYTxKr.png

opaque意味着即使您是透明的,也不要在下面任何东西

背景颜色的Alpha仅影响背景颜色的透明度,而不影响视图上绘制的其他任何内容。

alpha 影响视图上绘制的所有内容。


opaque属性可以提高速度-如果您知道视图永远不会具有透明度,则可以将其设置为YES,当iOS渲染视图时,它可以优化性能并更快地渲染。如果将此选项设置为NOiOS,则必须将您的视图与下面的视图混合,即使它不包含任何透明度也是如此。

Alpha也将影响背景颜色的Alpha,即,如果背景色为0.5透明且Alpha也为0.5,则具有使背景视图的Alpha 0.25(0.5 * 0.5)的效果。

对于deanWombourne的一个很好的答案,值得添加一下,除非您不使用drawRect:方法绘制自己的内容,否则opaque属性无效。

苹果的文档

您只需要在UIView的子类中为opaque属性设置一个值,该子类使用drawRect:方法绘制自己的内容opaque属性在系统提供的类(如UIButton,UILabel,UITableViewCell等)中不起作用

如果您绘制自己的内容,请记住,不透明只是一个提示

此属性为绘图系统提供了有关如何处理视图的提示。

以及来自同一Apple文档的更多指导:

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

本文地址:http://ios.askforanswer.com/uiviewbutoumingvs-alpha-vs-butoumingdu.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!