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

来源:互联网 发布:python 接口测试框架 编辑:程序博客网 时间:2024/04/28 18:02

直线

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([selfbounds]);
    //拿到当前视图准备好的画板
    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
}
0 0
原创粉丝点击