Search code examples
iphoneobjective-ciosuiview

UIView: opaque vs. alpha vs. opacity


How do opaque alpha and the opacity of the background work together for a UIView and what are the differences between them?

UIView http://i.minus.com/jb2IP8TXbYTxKr.png


Solution

  • opaque means don't draw anything underneath, even if you are transparent.

    The background color's alpha only affects the background color's transparency, not anything else drawn on the view.

    alpha affects everything drawn on the view.


    The opaque property can give you a speed increase - if you know that your view will never have transparency you can set this to YES and when iOS renders your view it can make some performance optimisations and render it faster. If this is set to NO iOS will have to blend your view with the view underneath, even if it doesn't happen to contain any transparency.

    The alpha will also affect the alpha of the backround color i.e. if the background color is 0.5 transparent and the alpha is also 0.5, this has the effect of making the background view's alpha 0.25 (0.5 * 0.5).