iOS 自定义绘制内容

本文详细介绍了在iOS开发中如何自定义绘制内容,包括Layer上下文的使用,如绘制线条、圆弧、矩形、文字和图片,以及设置绘图样式。同时,文章还讲解了图形上下文的创建、渲染、保存图片和截图等操作,是iOS自定义UI开发的重要参考。
摘要由CSDN通过智能技术生成

一、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];  // 文字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值