2009-02-07 57 views
6

在可可,特别是iPhone SDK中,opaque属性被描述为:可可/ iPhone:BACKGROUNDCOLOR和不透明属性

如果不透明的,拉伸操作 假定视图填充其边界 和可以得出更有效率。如果不透明 并且该视图未填充其边界,则 结果是不可预测的。 如果视图是完全或部分透明的 ,则将此属性设置为NO。

以我的经验,如果你有一个视图(标签,表格单元格等)backgroundColor设置为[UIColor clearColor],你需要设置opaqueNO才能正常显示(有明显的背景)。

直觉上,这样做还需要将不透明设置为NO,但我从来没有遇到过问题。

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

回答

1

尝试一下,看看是iPhone上的唯一出路,因为就像你所说的,尽管SDK附带的文档量很大,但在许多情况下并不是很具体。

至于不透明,虽然这只是提示合成引擎,它告诉它它不需要费心显示任何层被不透明层覆盖。但是,合成是通过手机上的图形芯片来完成的,因此在很多情况下,不绘制部分模糊层的模糊部分效率并不高,这很可能是因为您没有看到事物在一瞬间(即可可在您尝试过的情况下忽略了设置)。同样的道理,你从设置不透明到真实的效果都没有得到改善。

所以我的建议是坚持使用不透明的财产的方式文件说,因为你冒着错误的渲染没有真正的好处。