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);

相關文章
相關標籤/搜索