2016-8-31
老师好,今天我们学了CALayer就是加载图片的,但是它不是在UIView上面画图的,所以要先建两个类,一个继承CALayer的DrawLayer类,一个继承UIView的DrawLayerView类,在继承CALayer的类的.m文件里面实现-(void)drawInContext:(CGContextRef)ctx这个方法,可以不用联系上下文,可以在这里面画图,然后渲染上去就行了。在继承UIView的类里面,实现这个方法-(id)initWithFrame:(CGRect)frame,如果它自己等于它父类的方法就实例化DrawLayer这个类对象,然后把这个对象添加到self.layer上面去,[drawLayer setNeedsDisplay];这个刷新方法也要写,然后在ViewController里面实例化CALayer所对应的对象,然后把这个对象添加到self.view.layer上面去,在实例化DrawLayerView所对应的对象,把它添加到self.view上面去,这样就实现在层上面画图,在最开始的是UIView,下来是drawView,最上面是layer。
李坚