IOS4 note 15 (7) Visibility and Opacity
Visibility and Opacity
A view can be made invisible by setting its hidden property to YES, and visible again by?setting it to NO. This takes it (and its subviews, of course) out of the visible interface?without the overhead of actually removing it from the view hierarchy. A hidden view?does not (normally) receive touch events, so to the user it really is as if the view weren’t?there. But it is there, so it can still participate in layout and can be manipulated in other?ways.
A?view whose background color is nil has a transparent background. It is perfectly reasonable for a view to have a transparent background and to do no additional drawing?of its own, just so that it can act as a convenient superview to other views, making them?behave together.
A view can be made partially or completely ?transparent ?through ?its alpha property:?1.0 means opaque, 0.0 means transparent, and a value may be anywhere between them,?inclusive.?If a superview has an alpha of?0.5, none of ?its ?subviews ?can have ?an ?apparent opacity of more ?than ?0.5, because
whatever alpha value ?they have will be drawn relative ?to 0.5. (Just ?to make matters?more complicated, colors have an alpha value as well. So, for example, a view can have?an alpha of 1.0 but still have a transparent background because its backgroundColor has?an alpha less than 1.0.) A view that is completely transparent (or very close to it) is like?a view whose hidden is YES: it is invisible, along with its subviews, and cannot (normally) be touched.
A view’s opaque property, on the other hand, is a horse of a different color; changing it?has no effect on the view’s appearance. Rather, this property is a hint to the drawing?system. If a view completely fills ?its bounds with ultimately opaque material and ?its?alpha is 1.0, so that the view has no effective transparency, then it can be drawn more?efficiently (with less drag on performance) if you inform the drawing system of this fact?by setting its opaque to YES. Otherwise, you should set its opaque to NO. The opaque?value is not changed for you when you set a view’s backgroundColor or alpha! Setting it?correctly is entirely up to you; the default, perhaps surprisingly, is YES.
?