如果我的 UIView 设置为不透明,为啥它仍然被模拟器着色为“混合”?

Posted

技术标签:

【中文标题】如果我的 UIView 设置为不透明,为啥它仍然被模拟器着色为“混合”?【英文标题】:If my UIView is set be opaque, why is it still being colored as "blended" by the simulator?如果我的 UIView 设置为不透明,为什么它仍然被模拟器着色为“混合”? 【发布时间】:2016-07-25 20:52:44 【问题描述】:

我有一个UILabel,在初始化时我设置为不透明(opaque = YES),如果我使用“Debug View Hierarchy”按钮在运行时预览视图,我可以看到它确实设置为像我期望的那样不透明。

但是,如果我在 ios 模拟器中打开颜色混合图层,相同的视图是红色的,表示它是混合的,出于性能原因,我不想要。

这是为什么?我究竟做错了什么?为什么还是混合的?

【问题讨论】:

您是否将标签的backgroundColor 设置为不透明颜色? @robmayoff 叹息。这样就可以了。假设不透明会以某种方式自动处理,谢谢。 【参考方案1】:

一个视图不是不透明的(即使你设置了opaque = YES)用于合成,除非它有一个不透明的backgroundColor

【讨论】:

以上是关于如果我的 UIView 设置为不透明,为啥它仍然被模拟器着色为“混合”?的主要内容,如果未能解决你的问题,请参考以下文章

使 UIView 透明

具有透明背景的 UIModalPresentationFormSheet?

JTree 将节点的背景设置为不透明

为啥 JFrame 仍然不透明?

使用 CSS3 通过 display:none 为不透明度设置动画

为啥我的 UIView 在重新加载后没有响应?