1.不写[view.layer setneedisplay]的情况下,为什么只有重写drawRect方法才会调用drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 和displayLayer这两个方法
我的理解:重写drawRect方法之后,需要一个图形上下文,这时候系统会调用displayLayer方法问我们能不能给一个,我们如果没有实现(也就是没有给系统)系统就自动创建一个,如果我们实现了就不再鸟系统了直接完事
系统如果我们没给系统,系统自己创建之后就会调用drawInContext方法注意:这个方法是先调用然后再调用代理drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 然后再调用drawRect方法
注意在drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 方法中调用 super还是会调用drawreact方法的
网友评论