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

时间:2011-10-11 18:25:57

标签: ios uiview

我需要写:

view.opaque = NO;

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

从文档看起来如此:

  

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

但事实上,我从来没有这样做,很少看到其他人这样做,而且代码运行得很好。

如果事实证明我确实需要将opaque设置为NO,那么现在是我挖掘所有错误代码并纠正它们的时候了。

1 个答案:

答案 0 :(得分:6)

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

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