iOS在任何时候需要更新视图都是通过调用drawRect方法。
->视图在屏幕上是新的
->顶部视图被移除
->视图的hidden属性改变
->明确调用setNeedsDisplay()和setNeedsDisplayInRect()方法
如果你需要更新视图,不要直接调用drawRect方法,调用setNeedsDisplay()方法。
setNeedsDisplay()不会自己调用drawRect方法,但是会标记视图,在下一次循环更新的时候让视图通过drawRect重绘,所以当你在一个方法里面多次调用setNeedsDisplay()的时候,你实际上也只是调用了一次drawRect