Quartz2D

Quartz 2D 是一个二维绘图引擎,同时支持iOS和Mac系统

用法:

  1. 新建一个类,继承自 UIView
  2. 实现 - (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;方法中才有用

 

 

posted @ 2017-03-07 18:08  唐宋元明清。  阅读(131)  评论(0编辑  收藏  举报