在 UIView 层 可以通过设置 layer 的 cornerRadius来设置圆角。
也可通过 Layer 层设置 带圆角的maskLayer 来设置圆角。

那如果在 UIView 的 draw(rect)方法中如何通过 CGContext 来绘制圆角了?
可以定义以下方法在 drawRect: 方法中调用

- (void)drawRoundRect:(CGRect)rect radius:(CGFloat)radius context:(CGContextRef)context {float x1=rect.origin.x;float y1=rect.origin.y;float x2=x1+rect.size.width;float y2=y1;float x3=x2;float y3=y1+rect.size.height;float x4=x1;float y4=y3;CGContextMoveToPoint(context, x1, y1+radius);CGContextAddArcToPoint(context, x1, y1, x1+radius, y1, radius);CGContextAddArcToPoint(context, x2, y2, x2, y2+radius, radius);CGContextAddArcToPoint(context, x3, y3, x3-radius, y3, radius);CGContextAddArcToPoint(context, x4, y4, x4, y4-radius, radius);CGContextClosePath(context);
}

CGContextAddArcToPoint

绘制圆弧的方法之一

void CGContextAddArcToPoint(CGContextRef c, CGFloat x1, CGFloat y1, CGFloat x2, CGFloat y2, CGFloat radius)

参数示意图如下:

P1 是当前路径所在的点,坐标是(x,y)

P1(x,y)和(x1,y1)构成切线1,(x1,y1)和(x2,y2)构成切线2, r 是上面函数中的radius, 红色的线就是CGContextAddArcToPoint绘制的曲线. 它不会画到 (x2, y2)这个点, 绘制到圆弧的终点就会停止.

iOS 绘制圆角矩形相关推荐

  1. android绘制圆角矩形

    android中可以绘制圆角矩形. 1.利用画布cavas绘制 如果提供了一个方法可以在画布上绘制圆角矩形: 函数名称:public void drawRoundRect (RectF rect, f ...

  2. 绘制圆角矩形(方法 )

    /* sharecodes.org 友情提醒:尊重知识,转载请注明原创作者.出处! */ /// <summary> /// C# GDI+ 绘制圆角矩形 /// </summary ...

  3. JavaScript 使用canvas绘制圆角矩形边框

    目录 分析 完整代码如下 前言 在react项目中需要用到绘制矩形填充, 因为直角矩形不够美观, 需要绘制圆角填充矩形 分析 Canvas并没有提供绘制圆角矩形的方法,但是通过观察,我们可以发现,其实 ...

  4. 微信小程序使用canvas绘制圆角矩形在Android:变形、锯齿

    这两天用小程序实现分享生成海报,那我的手机测的一直没问题,结果后来用同事的小米测发现:画的图形缺个角,锯齿形的,根据小程序社区回复:使用ctx.arc + ctx.lineTo就能避免Android错 ...

  5. GDI+绘制圆角矩形

    1.最近,用到GDI+绘图,但是发现没有绘制圆角矩形的函数,故自己写了一个.下面贴出原理和代码,以作备份. 2.要绘制圆角矩形,基础是普通的直角矩形,需要做的就是将直角画成弧形. 3.绘制圆角矩形可以 ...

  6. canvas绘图,绘制圆角矩形。圆角线条。圆形头像

    //绘制圆角矩形 //x.x坐标,y,y轴坐标.width宽 height高  radius圆角(一定不能大于height的一半,否则不显示)   fillColor填充颜色.borderColor线 ...

  7. php 绘制圆角矩形,快速绘制圆角矩形的三种方法 - 行业动态 - 济南新视觉实训基地-平面UI设计PS培训,室内设计,web前端,影视3D动画后期制作培训...

    圆角矩形可谓是UI设计中,我们最常见到的元素之一了,通过圆角矩形工具去绘制的圆角过于普通,且略显呆板,缺少吸引力.今天新视觉实训就给大家分享三种绘制圆角矩形的方法,让我们在千篇一律的圆角矩形中找寻一些 ...

  8. 咸鱼菌CAD实战—绘制圆角矩形

    咸鱼菌CAD实战-绘制圆角矩形 设计中一般使用圆角使产品看起来更舒服一些,今天我们来绘制一个圆角矩形. 方法如下: 绘制矩形 使用快捷键F,进入倒圆角工具.或者在工具栏中选择倒圆角工具 按R键进入半径 ...

  9. GDI 绘制圆角矩形

    代码从网上搜集 #region 圆角矩形/// /// 最大圆角半径/// protected const int MaxRoundRadius = 3;/// /// 最小矩形边长,用于自动处理圆角 ...

最新文章

  1. Jvm 系列(三):GC 算法 垃圾收集器
  2. SQL-23 对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列...
  3. UIScrollView控件常用属性
  4. glob及IO重定向
  5. qsort(bsearch,lsearch)—标准库排序,查找
  6. 前端基础-html-表格的结构标签(了解)
  7. NHMicro业务脚本热部署快速开发框架介绍
  8. android 协程,Android 上的 Kotlin 协程
  9. python如何保存列表_python中数据的保存
  10. invalid LOC header(bad signature)错误及解决
  11. css选择器优先顺序
  12. IEC61850报告服务(报文解析)
  13. 巴特沃斯低通滤波器 matlab,利用matlab设计巴特沃斯低通滤波器
  14. MySQL读写分离的三种实现方案
  15. uniapp接收服务器消息,uniapp如何请求服务器数据
  16. USB Still Image Capture设备类
  17. 新一代HTAP数据库崛起,MySQL生态的最佳归宿?
  18. 如何写一份优秀的投资计划书
  19. 金属学复习【5】--- 金属及合金的塑性变形与再结晶
  20. 正在完成android更新三星,手机实时动态:这些都是三星手机正在获取Android 10

热门文章

  1. appium+python搭建自动化测试框架_TestAPP框架(三)
  2. BigDecimal 使用详解
  3. 如何通过 DJI SDK 控制无人机运动
  4. 我来悟微服务(3)-需求管理
  5. shell 脚本 变量 获取程序输出结果异常分析
  6. [Swift]枚举、类与结构体的对比
  7. Nginx 路由--Location的使用
  8. 20 个 Laravel Eloquent 必备的实用技巧
  9. MariaDB主从复制、主主复制
  10. 获取JSON格式的树形