在UIView中绘制直线、矩形、三角形

直线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- ( void )drawRect:(CGRect)rect {
     //获得处理的上下文
     CGContextRef context = UIGraphicsGetCurrentContext();
     //指定直线样式
     CGContextSetLineCap(context, kCGLineCapSquare);
     //直线宽度
     CGContextSetLineWidth(context, 2.0);
     //设置颜色
     CGContextSetRGBStrokeColor(context, 0.314, 0.486, 0.859, 1.0);
    //开始绘制
     CGContextBeginPath(context);
     //画笔移动到点(31,170)
     CGContextMoveToPoint(context, 31, 70);
     //下一点
     CGContextAddLineToPoint(context, 129, 148);
     //下一点
     CGContextAddLineToPoint(context, 159, 148);
     //绘制完成
     CGContextStrokePath(context);
}

矩形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- ( void )drawRect:(CGRect)rect{
//创建路径并获取句柄
CGMutablePathRef path = CGPathCreateMutable();
//指定矩形
CGRect rectangle = CGRectMake(10.0f, 10.0f,200.0f, 300.0f);
//将矩形添加到路径中
CGPathAddRect(path, NULL , rectangle);
//获取上下文
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//将路径添加到上下文
CGContextAddPath(currentContext, path);
//设置矩形填充色
[[UIColor colorWithRed:0.20f green:0.60f blue:0.80falpha:1.0f] setFill];
//矩形边框颜色
[[UIColor brownColor] setStroke];
//边框宽度
CGContextSetLineWidth(currentContext,5.0f);
//绘制
CGContextDrawPath(currentContext, kCGPathFillStroke); 
CGPathRelease(path);
}

三角形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- ( void )drawRect:(CGRect)rect
{
     //设置背景颜色
     [[UIColor clearColor]set];
     UIRectFill([ self  bounds]);
     //拿到当前视图准备好的画板
     CGContextRef context = UIGraphicsGetCurrentContext();
     //利用path进行绘制三角形
     CGContextBeginPath(context); //标记
     CGContextMoveToPoint(context, 0, 0); //设置起点
     CGContextAddLineToPoint(context, 165, 0);
     CGContextAddLineToPoint(context, 165, 105);
     CGContextClosePath(context); //路径结束标志,不写默认封闭
     [[UIColor whiteColor] setFill];  //设置填充色
     [[UIColor whiteColor] setStroke];  //设置边框颜色
     CGContextDrawPath(context, kCGPathFillStroke); //绘制路径path
}