Quartz2D的API是純C語⾔言的 Quartz2D的API來自於Core Graphics框架框架
數據類型和函數基本都以CG做爲前綴函數
CGContextRef CGPathRef CGContextStrokePath(ctx);code
如何利用Quartz2D繪製東西到view上?繼承
首先,得有圖形上下文,由於它能保存繪圖信息,而且決定着繪製到什麼地方去渲染
其次,那個圖形上下⽂必須跟view相關聯,才能將內容繪製到view上面數據類型
⾃定義view的步驟:方法
(1)新建⼀個類,繼承自UIView數據
(2)實現-(void)drawRect:(CGRect)rect⽅法.而後在這個⽅方法中 :樣式
1)取得跟當前view相關聯的圖形上下文;文件
2)繪製相應的圖形內容
3)利用圖形上下文將繪製的全部內容渲染顯示到view上面
首先繪製直線:首先須要在工程中導入 <CoreGraphics/CoreGraphics.h>的頭文件。
- (void)drawRect:(CGRect)rect { // Drawing code // 1.取得和當前視圖相關聯的圖形上下文(由於圖形上下文決定繪製的輸出目標)/ // 若是是在drawRect方法中調用UIGraphicsGetCurrentContext方法獲取出來的就是Layer的上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.繪圖(繪製直線), 保存繪圖信息 // 設置起點 CGContextMoveToPoint(ctx, 30, 100); //設置終點 CGContextAddLineToPoint(ctx, 300, 300); //2. 設置繪圖的狀態 //設置線條的顏色 // CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1);//第一種 [[UIColor blueColor]set];//第二種 //線條寬度 CGContextSetLineWidth(ctx, 12); //設置線條起點終點爲圓角樣式 CGContextSetLineCap(ctx, kCGLineCapRound); //設置線條的轉角的樣式爲圓角 CGContextSetLineJoin(ctx, kCGLineJoinRound); //3. 渲染(繪製一條空心的線) CGContextStrokePath(ctx); //注意線條不能渲染爲實心的 // CGContextFillPath(ctx); }