iOS开发UI篇—Quartz2D简单使用(一)

1、画直线app

代码:.net

//
//  YYlineview.m
//  03-画直线
//
//  Created by apple on 14-6-9.
//  Copyright (c) 2014年 itcase. All rights reserved.
//get

#import "YYlineview.h"it

@implementation YYlineviewio


// 当自定义view第一次显示出来的时候就会调用drawRect方法
- (void)drawRect:(CGRect)rect
{ast

    // 1.取得和当前视图相关联的图形上下文(由于图形上下文决定绘制的输出目标)/
    // 若是是在drawRect方法中调用UIGraphicsGetCurrentContext方法获取出来的就是Layer的上下文
    CGContextRef  ctx=UIGraphicsGetCurrentContext();//不须要*,同id
    
    // 2.绘图(绘制直线), 保存绘图信息
    // 设置起点
    CGContextMoveToPoint(ctx, 20, 100);
    //设置终点
    CGContextAddLineToPoint(ctx, 300, 100);
    
    
    //设置绘图的状态
    //设置线条的颜色为蓝色
    CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);
    //设置线条的宽度
    CGContextSetLineWidth(ctx, 15);
    //设置线条起点和终点的样式为圆角
    CGContextSetLineCap(ctx, kCGLineCapRound);
    //设置线条的转角的样式为圆角
    CGContextSetLineJoin(ctx, kCGLineJoinRound);
    //3.渲染(绘制出一条空心的线)
    CGContextStrokePath(ctx);
    
//    //注意线条不能渲染为实心的
//    CGContextFillPath(ctx);
    
    
    
    //设置第二条线
    //设置第二条线的起点
    CGContextMoveToPoint(ctx, 50, 200);
    //设置次日线的终点(自动把上一条直线的终点当作起点)
    CGContextAddLineToPoint(ctx, 300, 60);
    
    //设置绘图的状态
//    CGContextSetRGBStrokeColor(ctx, 1.0, 0.7, 0.3, 1.0);
    //第二种设置颜色的方式
    [[UIColor grayColor] set];
    //设置线条的宽度
    CGContextSetLineWidth(ctx, 10);
    //设置线条的起点和终点的样式
    CGContextSetLineCap(ctx, kCGLineCapButt);
    
    //渲染第二条线的图形到view上
    //绘制一条空心的线
    CGContextStrokePath(ctx);
}import


@end渲染

 

效果:方法

2、画三角形im

代码:

//
//  YYrectview.m
//  02-画三角形
//
//  Created by 孔医己 on 14-6-10.
//  Copyright (c) 2014年 itcast. All rights reserved.
//

#import "YYrectview.h"

@implementation YYrectview


- (void)drawRect:(CGRect)rect
{
    //1.得到图形上下文
    CGContextRef ctx=UIGraphicsGetCurrentContext();
    
    //2.绘制三角形
    //设置起点
    CGContextMoveToPoint(ctx, 20, 100);
    //设置第二个点
    CGContextAddLineToPoint(ctx, 40, 300);
    //设置第三个点
    CGContextAddLineToPoint(ctx, 200, 200);
    //设置终点
//     CGContextAddLineToPoint(ctx, 20, 100);
    //关闭起点和终点
    CGContextClosePath(ctx);
    
    // 3.渲染图形到layer上
    CGContextStrokePath(ctx);
    
}


@end

 

效果:

提示:关闭起点和终点  CGContextClosePath(ctx);

相关文章
相关标签/搜索