二 、绘图
贝塞尔曲线&UIBezierPath
//创建画笔
_bezierPen = [UIBezierPath bezierPath];
//把设定画笔的起始位置
[_bezierPen moveToPoint:point];
//用画笔 把当前的点跟之前的点进行连线
[_bezierPen addLineToPoint:point];
//重新绘图
//setNeedsDisplay会自动调用drawRect:
[self setNeedsDisplay];
-
(void)drawRect:(CGRect)rect
{
// Drawing code
NSLog(@"drawRect");//在drawRect:里面 画笔进行提交 绘图
//设置画笔的颜色
[[UIColor redColor] set];//设置画笔的宽度
_bezierPen.lineWidth = 5;
//告诉系统 画完了
[_bezierPen stroke];
}
画图形
线
//设置起始点
[pen moveToPoint:CGPointMake(160, 150)];
//画一条线
[pen addLineToPoint:CGPointMake(200, 300)];
圆
//修改起始点 在圆上 )
[pen moveToPoint:CGPointMake(210, 150)];
[pen addArcWithCenter:CGPointMake(160, 150) radius:50 startAngle:0 endAngle:2*M_PI clockwise:YES];
抛物线
//设置起始点
[pen moveToPoint:CGPointMake(30, 150)];
//第一个参数是 结束点
//第二个参数 是起始点切线和结束点切线的交点
//设置抛物线
[pen addQuadCurveToPoint:CGPointMake(200, 180) controlPoint:CGPointMake(100, 50)];
========================
CoreGraphics 核心绘图
//获取绘图上下文,可以理解为画布
CGContextRef context = UIGraphicsGetCurrentContext();
//设置线宽
CGContextSetLineWidth(context, 2);
//设置画线的颜色
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//移动画笔到100,100
CGContextMoveToPoint(context, 100, 100);
//添加线段
CGContextAddLineToPoint(context, 200, 200);
//开始画
CGContextStrokePath(context);