如果我使用clearColor作为backgroundColor,是否需要将UIVIew.opaque设置为NO?

an0*_*an0 3 uiview ios

需要我写:

view.opaque = NO;
Run Code Online (Sandbox Code Playgroud)

对于透明backgroundColor或小于1的每个视图alpha

从文档来看似乎如此:

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

但事实上,我从来没有这样做,很少看到其他人这样做,代码工作得很好.

如果事实证明我确实需要设置opaqueNO,是时候对我来说,挖掘出所有的恶意代码和纠正.

Jam*_*mes 6

您应该明确地设置它,但是如果您从nib中膨胀,则可以在InterfaceBuilder/Xcode中设置该属性.此属性用作图形上下文的快捷方式标志,因此它不必尝试推断您的视图是否透明.

代码仍然有效,但运行时必须进行推理.此外,由于iOS使窗口的某些区域无效而不会使其他区域失效的方式,如果您的视图标记为不透明且实际上不是,则可以不时地获得一些时髦的行为.