Transparency is evil, on iOS devices even more so than on heavier machines. I therefore figured to use view removeFromSuperView
first, if not applicable view.hidden=YES
and as a last resort view.alpha=0
. But I actually don't know what's going on behind the scenes. Is there a difference, especially between the latter two?
I have a UIView animateWithDuration:animations:completion:
scenario, where if you put hidden=YES in the completion block, it will hide without letting the animation block finish. Therefore I have to resort to alpha=0.
What are the penalties of the one over the other? Cheers, EP.
View's Alpha value is a floating-point number in the range 0.0 to 1.0, where 0.0 represents totally transparent and 1.0 represents totally opaque. Changing the value of this property updates the alpha value of the current view only.
alpha = 0.5 is that the label will have an opacity of 50% as well, so I figured out that it maybe would be possible to have a UIView with white background color and opacity (white_view), and then have another UIView with the label (label_view).
I am not sure that a view with alpha 0.0 is still drawn. Check the documentation library:
Hiding Views
To hide a view visually, you can either set its hidden property to YES or change its alpha property to 0.0. A hidden view does not receive touch events from the system. However, hidden views do participate in autoresizing and other layout operations associated with the view hierarchy. Thus, hiding a view is often a convenient alternative to removing views from your view hierarchy, especially if you plan to show the views again at some point soon.
I also have found this answer here http://www.iphonedevsdk.com/forum/iphone-sdk-development/65525-whats-difference-between-alpha-0-hidden-yes.html
That says:
I believe that Cocoa Touch treats and alpha less than 0.02 as also being hidden, since below that alpha level it's invisible, and Apple's engineers decided that invisible controls should not be clickable.
Using an alpha value requires that the graphics hardware blend each pixel from the object with everything underneath. It's compute-intensive. The hidden flag, on the other hand, is a switch. If you turn it on, the OS knows it doesn't have to draw the object at all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With