setNeedsLayout and setNeedsDisplay

Duck picture Duck · Jan 24, 2013 · Viewed 31.1k times · Source

What is the real difference between UIView methods setNeedsLayout and setNeedsDisplay?

As usual documentation is foggy about this.

Answer

Joris Kluivers picture Joris Kluivers · Jan 24, 2013

Actually the documentation is pretty clear about this:

  • setNeedsLayout will layout subviews

    Call this method on your application’s main thread when you want to adjust the layout of a view’s subviews.

  • setNeedsDisplay will call for a redraw of your view (drawRect:, etc).

    You can use this method or the setNeedsDisplayInRect: to notify the system that your view’s contents need to be redrawn.