转载:http://bravoo.diandian.com/
在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 = UIGraphicsGetCurrentCont
//指定直线样式
CGContextSetLineCap(context,kCGLineCapSquare);
//直线宽度
CGContextSetLineWidth(context,2.0);
//设置颜色
CGContextSetRGBStrokeCol
//开始绘制
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 =UIGraphicsGetCurrentCont
//将路径添加到上下文
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([
self
bounds]);
//拿到当前视图准备好的画板
CGContextRefcontext = UIGraphicsGetCurrentCont
//利用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方法即可
|