zoukankan      html  css  js  c++  java
  • 关于iOS开发中Quartz2D的初步学习

         由于最近的新项目可能要涉及到画表格和画统计图,应该会涉及到iOS开发的一个知识点,那就是Quartz2D这个技术,对于一个正经从事iOS半年的我,这个技术还是涉足的较晚,懂得也是较少的,话不多说,初学Quartz2D,写一下刚刚掌握的基础

    首先,利用Quartz2D需要在View的 - (void)drawRect:(CGRect)rect 函数中来写,即绘制函数。

    有了这个   

        - (void)drawRect:(CGRect)rect

    {

        //1.必须有的就是一张虚拟的画布,所有需要绘制的东西都需要花在这个上面,通常称其为上下文环境

        CGContextRef ctx = UIGraphicsGetCurrentContext();

        

        //在这个ctx的上下文环境中画一个点 (0,0) 

        CGContextMoveToPoint(ctx, 0, 0);

        //以这个点为起点,向 (30,100)这个方向上去绘制一条线    

        CGContextAddLineToPoint(ctx, 30 , 100);

       

    //同理继续从上面那个点向(100,40)绘制一条线,并且收录在上下文环境ctx上。

        

        CGContextAddLineToPoint(ctx, 100, 40);

    //设置线的属性,这个事说拐点是圆的还是角的

        CGContextSetLineJoin(ctx, kCGLineJoinRound);

    //设置线的头和尾的点属性,源头还是方头的

        CGContextSetLineCap(ctx, kCGLineCapRound);

    //设置线的宽度

        CGContextSetLineWidth(ctx, 20);

        //最后在把这个ctx里面的图形上下文绘制出来,绘制的方法是轮廓线。

        CGContextStrokePath(ctx);

        

    }

    小总结:初次尝试,明白了,Quartz2D的思路,分为三步

    1.创建上下文环境

    2.把想要绘制的东西绘制到上下文环境中;

    3.最终把上下文环境选择一种绘制方式,绘制到视图View上

    就是这几个步骤,剩下的就是记住第二个步骤里面的,绘制函数,多用,多记,就行了,嘿嘿,感觉自己已经入门了,接下来还会继续深入的学习这项技术的。

  • 相关阅读:
    用故事说透 HTTPS
    nginx部署基于http负载均衡器
    Jenkins使用docker-maven-plugin进行编译时发现没有权限
    Jenkins执行mvn -f ${project_name} clean package报错:找不到父工程
    Harbor的镜像上传和拉取
    java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
    Jenkins+SonarQube代码审查
    Centos7安装SonarQube7.9.3
    Centos7 rpm 安装Mysql5.7
    Jenkins 配置邮箱服务器发送构建结果
  • 原文地址:https://www.cnblogs.com/YaoWang/p/5045800.html
Copyright © 2011-2022 走看看