在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{
//获得处理的上下文
CGContextRefcontext = 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
{
//设置背景颜色
[[UIColorclearColor]set];
UIRectFill([selfbounds]);
//拿到当前视图准备好的画板
CGContextRefcontext = UIGraphicsGetCurrentContext();
//利用path进行绘制三角形
CGContextBeginPath(context);//标记
CGContextMoveToPoint(context,0, 0);//设置起点
CGContextAddLineToPoint(context,165, 0);
CGContextAddLineToPoint(context,165, 105);
CGContextClosePath(context);//路径结束标志,不写默认封闭
[[UIColorwhiteColor] setFill]; //设置填充色
[[UIColorwhiteColor] setStroke]; //设置边框颜色
CGContextDrawPath(context,kCGPathFillStroke);//绘制路径path
}
如需要刷新则调用:setNeedsDisplay方法即可