IOS中drawLayer使用CGContent
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS中drawLayer使用CGContent相关的知识,希望对你有一定的参考价值。
一般我们使用CALayer的时候如何想要在CALayer上面绘图有两种方式:
1:新建一个类 继承自CALayer,然后重写他的一个方法:
13 -(void)drawInContext:(CGContextRef)ctx 14 { 15 //1.绘制图形 16 //画一个圆 17 CGContextAddEllipseInRect(ctx, CGRectMake(50, 50, 100, 100)); 18 //设置属性(颜色) 19 // [[UIColor yellowColor]set]; 20 CGContextSetRGBFillColor(ctx, 0, 0, 1, 1); 21 22 //2.渲染 23 CGContextFillPath(ctx); 24 }
然后新建该类的实例后 调用setNeedsDisplay即可以调用到drawInContext方法,
2:使用CALayer的委托方法,首先继承calayer的委托,实现他的一个方法:
36 -(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 37 { 38 //1.绘制图形 39 //画一个圆 40 CGContextAddEllipseInRect(ctx, CGRectMake(50, 50, 100, 100)); 41 //设置属性(颜色) 42 // [[UIColor yellowColor]set]; 43 CGContextSetRGBFillColor(ctx, 0, 0, 1, 1); 44 45 //2.渲染 46 CGContextFillPath(ctx); 47 }
然后设置layer.delegate = self后,自然会调用该方法的
以上是关于IOS中drawLayer使用CGContent的主要内容,如果未能解决你的问题,请参考以下文章
iOS:使用 UIView 的 'drawRect:' 与其层的委托 'drawLayer:inContext:'
CALayer 没有实现自定义 drawLayer:inContext: 方法