iOS 自定义绘制内容

一、Layer上下文
当UIView第一次显示出来的时候,会调用view的drawRect方法,在drawRect方法中,可以获取和当前视图相关联的图形上下文,图形上下文中已经包含了决定绘制的输出目标,在UIView的drawRect方法中调用 UIGraphicsGetCurrentContext方法即可以获取到上下文(Layer上下文);
当view的frame发生改变的时候,drawRect会被自动调用;自定义view的背景颜色如果是default color的话,在drawRect方法中,会有缓存,可以手动调用CGContextClearRect方法清除;

1.画线

CGContextMoveToPoint(ctx, 10, 100);  // 起点
CGContextAddLineToPoint(ctx, 100, 100);  // 终点

线(绘制直线,实际上layer并没有直接渲染出来,而只是保存了绘制的信息)
CGContextMoveToPoint方法默认会给我们创建一个路径,之后的操作会把点添加到路径中;
2.绘制圆和圆弧

CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 50, 50));  // 画圆
CGContextAddArc(ctx, 50, 50, 50, 0, M_PI_2, 0);  // 画圆弧,前两个参数为圆心,接着的参数分别为半径,开始弧度,结束弧度,画圆弧方向(1逆时针,0顺时针)

3.绘制矩形

CGContextAddRect(ctx, CGRectMake(10, 10, 100, 100));  
// 绘制矩形,之后需要调用渲染方法(参见第7条);
CGContextStrokeRect(ctx, CGRectMake(10, 10, 100, 100));  
// 绘制矩形 | Fill,自动渲染,不需要手动调用渲染方法;
UIRectFill(CGRectMake(10, 10, 100, 100));  
// 通过OC的方法绘制实心四边形,该方法没有空心的方法;

4.绘制文字

dict[NSForegroundColorAttributeName] = [UIColor redColor];  // 文字颜色
dict[NSBackgroundColorAttributeName] = [UIColor redColor];  // 文字
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值