目录
介绍
该方法是做什么的?
这个方法的默认实现什么也不做。
视图需要自定义绘制时(UIKit提供的视图无法满足时),可以重写该方法。比如渐变背景、绘制图形和路径等。
需要注意的地方
当这个方法被调用时,UIKit已经为你的视图配置了适当的绘图环境,你可以调用任何绘图方法和函数。
您应该将任何绘图限制在rect参数中指定的矩形内。
调用时机
1、当视图首次显示时。
2、视图需要更新时,比如屏幕旋转和视图大小改变时。
3、调用setNeedsDisplay或setNeedsDisplayInRect:方法,打上刷新标记,将调用此方法,不会立即重绘,而是在下一个绘制周期进行重绘。
调用栈
layout_and_display_if_needed
layout_if_needed
-[CALayer layoutSublayers]
-[UIView layoutSubviews]
-[CALayer display]
-[UIView(CALayerDelegate) drawLayer:inContext:]
-[UIView drawRect:]
行者常至,为者常成!