setNeedsLayout和setNeedsDisplay

UIView方法setNeedsLayoutsetNeedsDisplay之间的真正区别是什么?

像往常一样,文档对此很模糊。

谢谢。

其实这个文件很清楚:

  • setNeedsLayout将布局子视图

    当您想要调整视图子视图的布局时,在应用程序的主线程上调用此方法。

  • setNeedsDisplay会调用你的视图的重绘( drawRect:等)。

    您可以使用此方法或setNeedsDisplayInRect:来通知系统您的视图的内容需要重绘。