what's the difference between view's hidden = yes and alpha = 0.0f

joebo picture joebo · Jun 6, 2012 · Viewed 14.5k times · Source

I have a question about UIView, what's the difference between views hidden, alpha and opaque?

The effect of setting view: hidden = yes and view.alpha = 0.0f is the same.

Answer

Torsten Walter picture Torsten Walter · Jun 6, 2012

The differences are subtle. According to the UIView class reference:

  • opaque tells the system that the view has no transparency and is thus faster to render because calculations for blending can be skipped
  • hidden is boolean property that changes only the visibility of the current view and hides it from ui events.
  • alpha is an animatable property

Setting alpha = 0.0f or hidden = YES has the same visual effect. However using hidden to actually hide a view not only in a graphical sense but also from ui events might result in a more efficient responder chain when you have lots of nested views.