zoukankan      html  css  js  c++  java
  • 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;方法中才有用

     

  • 相关阅读:
    23种设计模式之单例模式
    Java基础之IO技术(一)
    spark利用yarn提交任务报:YARN application has exited unexpectedly with state UNDEFINED
    linux配置了dns后导致mysql远程连接慢问题
    发布网站后localhost可以访问ip不行
    electron编译sqlite3
    vscode文件树缩进
    js判断浏览器类型
    vue可复用slide动画
    vscode使用formate格式化less遇到的坑
  • 原文地址:https://www.cnblogs.com/menglingxu/p/6516108.html
Copyright © 2011-2022 走看看