Quartz2D繪圖的步驟: 1.獲取上下文 2.創(chuàng)建路徑(描述路徑) 3.把路徑添加到上下文 4.渲染上下文。通常在drawRect方法里面繪圖悯嗓,因?yàn)橹挥性谶@個(gè)方法里面才能獲取到跟View的layer相關(guān)聯(lián)的圖形上下文瓷叫。
- 方式一
- (void)drawRect:(CGRect)rect {
// 1.獲取圖形上下文
// 目前我們所用的上下文都是以UIGraphics
// CGContextRef Ref:引用 CG:目前使用到的類型和函數(shù) 一般都是CG開頭 CoreGraphics
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.描述路徑
// 創(chuàng)建路徑
CGMutablePathRef path = CGPathCreateMutable();
// 設(shè)置起點(diǎn)
// path:給哪個(gè)路徑設(shè)置起點(diǎn)
CGPathMoveToPoint(path, NULL, 50, 50);
// 添加一根線到某個(gè)點(diǎn)
CGPathAddLineToPoint(path, NULL, 200, 200);
// 3.把路徑添加到上下文
CGContextAddPath(ctx, path);
// 4.渲染上下文
CGContextStrokePath(cox);
}
- 方式二:
- (void)drawRect:(CGRect)rect {
// 獲取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 描述路徑
// 設(shè)置起點(diǎn)
CGContextMoveToPoint(ctx, 50, 50);
CGContextAddLineToPoint(ctx, 200, 200);
// 渲染上下文
CGContextStrokePath(cox);
}
- 方式三:
- (void)drawRect:(CGRect)rect {
// UIKit已經(jīng)封裝了一些繪圖的功能
// 貝瑟爾路徑
// 創(chuàng)建路徑
UIBezierPath *path = [UIBezierPath bezierPath];
// 設(shè)置起點(diǎn)
[path moveToPoint:CGPointMake(50, 50)];
// 添加一根線到某個(gè)點(diǎn)
[path addLineToPoint:CGPointMake(200, 200)];
// 繪制路徑
[path stroke];
}