Quartz 2D 是一个二维绘图引擎,同时支持iOS和Mac系统
用法:
- 新建一个类,继承自 UIView
- 实现 - (void)drawRect:(CGRect)rect 方法,然后在这个方法中
/* 作用:专门用来绘图 什么时候调用:当view现实的时候调用 */ - (void)drawRect:(CGRect)rect { // NSLog(@"%s", __func__); // NSLog(@"%@", NSStringFromCGRect(rect)); // 1.在drawRect方法中系统已经帮你创建了一个跟view相关联的上下文 // 只要获取上下文就行了. // 1. 获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.描述路径 UIBezierPath *path = [UIBezierPath bezierPath]; // 画曲线 // 2.1设置起点 [path moveToPoint:CGPointMake(50, 280)]; // 2.2添加一根曲线到某一个点 [path addQuadCurveToPoint:CGPointMake(250, 280) controlPoint:CGPointMake(50, 50)]; // 3.把路径添加到上下文 CGContextAddPath(ctx, path.CGPath); // 4.把上下文的内容显示到View上 CGContextStrokePath(ctx); }
或者更简单点
- (void)drawRect:(CGRect)rect { UIBezierPath *path = [UIBezierPath bezierPath]; [path moveToPoint:CGPointMake(50, 280)]; [path addQuadCurveToPoint:CGPointMake(250, 280) controlPoint:CGPointMake(50, 50)]; [path stroke]; }
注:只有在 - (void)drawRect:(CGRect)rect;方法中才有用