setNeedsDisplay 和 setNeedsLayout-b

setNeedsDisplay:

Marks the receiver’s entire bounds rectangle as needing to be redrawn.

 

drawRect:

 

This method is called when a view is first displayed or when an event occurs that invalidates a visible part of the view. You should never call this method directly yourself. To invalidate part of your view, and thus cause that portion to be redrawn, call the setNeedsDisplayorsetNeedsDisplayInRect: method instead.

setNeedsLayout:

Invalidates the current layout of the receiver and triggers a layout update during the next update cycle.

 

layoutIfNeeded

 

Use this method to force the layout of subviews before drawing.Lays out the subviews immediately.

 

layoutSubviews:

 

You should not call this method directly. If you want to force a layout update, call thesetNeedsLayout method instead to do so prior to the next drawing update. If you want to update the layout of your views immediately, call thelayoutIfNeeded method.

 

 

总之 你要是排布 子视图 就在layoutSubviews:

         你要是画一些东西 就在drawRect:

posted on 2016-05-30 16:08  🌞Bob  阅读(144)  评论(0编辑  收藏  举报

导航