一、接下来,我们来说drawrect:这个方法, 1.我们把之前的copy这个代码,复制粘贴一份,改个名字, 来个“05-drawrect”, 然后呢,关于这个drawrect: drawrect:啊,我们分几点来写, 1)首先:代码为什么要写在drawrect:当中, 2)rect参数的含义:也就是说,这个rect,它传过来的 这个参数(CGRect)rect:是什么意思, 3)drawrect:什么时候调用 4)如何重绘: 5)为什么不能手动调用drawrect: 接下来啊,我们通过这5点,一个一个来说, 2.代码为什么要写在drawrect:当中, 1)首先,这个东西呢,是跟我们的上下文有关的,因为我们一上来,第一句,就是要获取当前上下文,那么,首先,这个上下文,我们获取,不是创建,谁创建的,系统创建的,在这个drawrect:里边儿, 如果你在drawrect:里边,去获取当前上下文的话,系统,一定是已经给你创建好的,在其他方法里边,可能你获取不到,就是因为这个,所以,你的代码,一定要写在drawrect:里边,要不然,你获取不到当前上下文, 举一个例子,比如说,我们在这个里边,NSLog一下, NSLog(@“%@”,UIGraphicsGetCurrentContext()); 然后,command + R, 这个时候,它一定是有一个内存地址的啊, 程序跑起来以后,肯定会去调用这个drawrect:方法,实际上,之前啊,我们画线也好,并没有去调用这个drawrect:方法,好像它一上来,就会去执行,然后,执行的时候,它输出的这个,当前的上下文,一定是有内存地址的,这是一个, 然后,我们当前的这个View呢,是通过xib加载的,然后呢