Cocoa / iPhone:BackgroundColor和Opaque Properties

时间:2009-02-07 23:09:33

标签: cocoa cocoa-touch

在Cocoa中,特别是iPhone SDK,opaque属性被描述为:

  

如果不透明,则绘图操作   假设视图填充其边界   并且可以更有效地绘制。该   如果不透明,结果是不可预测的   并且视图没有填补其范围。   如果视图是,则将此属性设置为NO   完全或部分透明。

根据我的经验,如果您有backgroundColor设置为[UIColor clearColor]的视图(标签,表格单元格等),则需要设置{{ 1}}到opaque,以使其正确显示(背景清晰)。

直观地说,这样做也需要将NO设置为不透明,但我从来没有遇到过问题。

你可以混合opaque = YES和clearColor,还是我靠借来的时间生活?它似乎没有在任何地方具体记录。

1 个答案:

答案 0 :(得分:1)

尝试一下,看看是iPhone上唯一的前进方式,因为就像你说的那样,尽管SDK随附了大量的文档,但在很多情况下它并不是非常具体。

至于opaque,这只是对合成引擎的一个提示,它告诉它不需要费心去显示不透明层所覆盖的任何层。然而,合成是通过手机上的图形芯片完成的,因此在许多情况下,不绘制部分模糊图层的模糊部分并不是更有效,这很可能是因为你没有看到事情搞砸了。时刻(即可可忽略了你尝试过的情况下的设置)。出于同样的原因,您没有看到将opaque设置为true的性能提升。

所以我的建议是坚持使用不透明的属性,就像文档说的那样,因为你冒着错误渲染的风险而没有真正的好处。