在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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值