UIView的opaque属性详解

该属性用与决定该消息接收者(UIView instance)是否让其视图不透明。

其用处在于:给绘图系统提供一个性能优化开关。如果该值为YES, 那么绘图在绘制该视图的时候把整个视图当作不透明对待。这样,绘图系统在执行绘图过程中会优化一些操作并提升系统性能;如果是设置为NO, 绘图系统将其和其他内容平等对待,不去做优化操作。为了性能方面的考量,默认被置为YES(意味着‘优化’)。

另一方面,这个消息和alpha 是有关系的。
一个不透明视图需要整个边界里面的内容都是不透明的。基于这个原因,opaque设置为YES,要求对应的alpha必须为1.0。如果一个UIView实例opaque被设置为YES, 而同时它又没有完全填充它的边界(bounds),或者它包含了整个或部分的透明的内容视图,那么将会导致未知的结果。

因此,如果视图部分或全部支持透明,那么你必须把opaque这个值设置为NO.

你可能感兴趣的:(iphone)