JHHK

欢迎来到我的个人网站
行者常至 为者常成

drawRect

目录

介绍

该方法是做什么的?
这个方法的默认实现什么也不做。
视图需要自定义绘制时(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:]

行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.