二 棚瘟、繪圖
貝塞爾曲線&UIBezierPath
//創(chuàng)建畫筆
_bezierPen = [UIBezierPath bezierPath];
//把設(shè)定畫筆的起始位置
[_bezierPen moveToPoint:point];
//用畫筆 把當(dāng)前的點(diǎn)跟之前的點(diǎn)進(jìn)行連線
[_bezierPen addLineToPoint:point];
//重新繪圖
//setNeedsDisplay會(huì)自動(dòng)調(diào)用drawRect:
[self setNeedsDisplay];
-
(void)drawRect:(CGRect)rect
{
// Drawing code
NSLog(@"drawRect");//在drawRect:里面 畫筆進(jìn)行提交 繪圖
//設(shè)置畫筆的顏色
[[UIColor redColor] set];//設(shè)置畫筆的寬度
_bezierPen.lineWidth = 5;
//告訴系統(tǒng) 畫完了
[_bezierPen stroke];
}
畫圖形
線
//設(shè)置起始點(diǎn)
[pen moveToPoint:CGPointMake(160, 150)];
//畫一條線
[pen addLineToPoint:CGPointMake(200, 300)];
圓
//修改起始點(diǎn) 在圓上 )
[pen moveToPoint:CGPointMake(210, 150)];
[pen addArcWithCenter:CGPointMake(160, 150) radius:50 startAngle:0 endAngle:2*M_PI clockwise:YES];
拋物線
//設(shè)置起始點(diǎn)
[pen moveToPoint:CGPointMake(30, 150)];
//第一個(gè)參數(shù)是 結(jié)束點(diǎn)
//第二個(gè)參數(shù) 是起始點(diǎn)切線和結(jié)束點(diǎn)切線的交點(diǎn)
//設(shè)置拋物線
[pen addQuadCurveToPoint:CGPointMake(200, 180) controlPoint:CGPointMake(100, 50)];
========================
CoreGraphics 核心繪圖
//獲取繪圖上下文,可以理解為畫布
CGContextRef context = UIGraphicsGetCurrentContext();
//設(shè)置線寬
CGContextSetLineWidth(context, 2);
//設(shè)置畫線的顏色
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//移動(dòng)畫筆到100,100
CGContextMoveToPoint(context, 100, 100);
//添加線段
CGContextAddLineToPoint(context, 200, 200);
//開始畫
CGContextStrokePath(context);