UIBezierPath的使用(持续更新)
UIBezierPath的使用
1. 使用UIBezierPath绘制多边形
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPath];// 设定起始点[aPath moveToPoint:CGPointMake(0.0f, 0.0f)];// 添加点[aPath addLineToPoint:CGPointMake(100.0f, 100.0f)];[aPath addLineToPoint:CGPointMake(0.f, 50.f)];// 闭合path[aPath closePath];
2. 使用UIBezierPath绘制圆形
// 将常数转换为度数#define DEGREES(degrees) ((3.14159265359f * degrees)/ 180.f)// 获取pathUIBezierPath *aPath = \[UIBezierPath bezierPathWithArcCenter:CGPointMake(50, 50) // 圆的中心radius:50.f // 圆的半径startAngle:DEGREES(0) // 起始点endAngle:DEGREES(360) // 结束点clockwise:YES]; // 顺时针
3. 使用UIBezierPath绘制矩形
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 100, 100)];
4. 使用UIBezierPath绘制椭圆
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 50, 70)];
5. 使用UIBezierPath绘制圆角矩形
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 100, 100)cornerRadius:10.f];
6. 使用UIBezierPath绘制带部分圆角的矩形
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 100, 100)byRoundingCorners:UIRectCornerTopLeftcornerRadii:CGSizeMake(100, 100)];
7. 使用UIBezierPath绘制不规则曲线1
// 获取path UIBezierPath *aPath = [UIBezierPath bezierPath]; // 设定起始点 [aPath moveToPoint:CGPointMake(0.0f, 0.0f)]; // 添加一个不规则点 [aPath addCurveToPoint:CGPointMake(100.f, 100.f) controlPoint1:CGPointMake(50.f, 0.f) // 开始点 controlPoint2:CGPointMake(0.f, 50.f)]; // 结束点 // 添加一个点 [aPath addLineToPoint:CGPointMake(0.0f, 100.f)]; // 闭合path [aPath closePath];
8. 使用UIBezierPath绘制不规则曲线2
// 获取pathUIBezierPath *aPath = [UIBezierPath bezierPath];// 设定起始点[aPath moveToPoint:CGPointMake(0.0f, 0.0f)];// 添加一个不规则点[aPath addQuadCurveToPoint:CGPointMake(100.f, 100.f)controlPoint:CGPointMake(0.f, 90.f)]; // 控制点// 添加一个点[aPath addLineToPoint:CGPointMake(0.0f, 100.f)];// 闭合path[aPath closePath];
9. 使用path与CAShapeLayer配合制作mask遮罩效果(path闭环里面的填充区域就是作为遮罩使用的)
// 创建一个viewUIView *showView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];showView.backgroundColor = [UIColor greenColor];showView.layer.contents = (__bridge id)([UIImage imageNamed:@"1"].CGImage);// 创建一个椭圆的pathUIBezierPath *aPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 100, 100)];// 创建一个CAShapeLayer并获取椭圆的pathCAShapeLayer *layer = [CAShapeLayer layer];layer.path = aPath.CGPath;// 把这个CAShapeLayer添加为maskshowView.layer.mask = layer;
UIBezierPath
calls
UIBezierPath的使用(持续更新)相关推荐
- iOS小技巧总结,绝对有你想要的(持续更新)
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView a ...
- 自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新
自己在 git 上看到一个非常好的总结的东西,但是呢, fork 了几次,就是 fork 不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常 ...
- s-systemtap工具使用图谱(持续更新)
整体的学习思维导图如下,后续持续更新完善 文章目录 安装 简介 执行流程 执行方式 stap脚本语法 探针语法 API函数 探针举例 变量使用 基本应用 1. 定位函数位置 2. 查看文件能够添加探针 ...
- swift 错误集合 ------持续更新中
从今天开始凡是在用swift中遇到的错误都会在本博客持续更新 便于自己学习和快速开发 2017.7.20 如果你的程序写的有进入后台的方法,例如我的博客中点击home进入后台持续定位的那篇文章,发信进 ...
- 快应用开发常见问题以及解决方案【持续更新】
接触快应用也有一段时间了,踩过了大大小小的坑,让我活到了今天.准备在此立贴持续更新,记录遇到的问题以及解决方案,造福大众. css 方面 1.文字竖排不支持 目前官方还不支持writing-mode, ...
- Java 最常见的 10000+ 面试题及答案整理:持续更新
Java面试题以及答案整理[最新版]Java高级面试题大全(2021版),发现网上很多Java面试题都没有答案,所以花了很长时间搜集,本套Java面试题大全,汇总了大量经典的Java程序员面试题以及答 ...
- UDP 构建p2p打洞过程的实现原理(持续更新)
UDP 构建p2p打洞过程的实现原理(持续更新) 发表于7个月前(2015-01-19 10:55) 阅读(433) | 评论(0) 8人收藏此文章, 我要收藏 赞0 8月22日珠海 OSC 源创 ...
- 大四狗找工作,持续更新
持续更新中.... 转载于:https://www.cnblogs.com/Wiki-ki/p/3979176.html
- 中date转为string_股票数据获取篇(持续更新中...)
这是第一篇量化交易学习文,心里还是有点忐忑,毕竟自己不是金融人士,金融业务能力匮乏,所以从最简单的数据获取入手,各种概念各种策略还在学习中.回测框架选择backtrader,因为网上对此框架的评价甚高 ...
最新文章
- C# winform版 nbtstat
- 如何理解JavaScript原型
- MySQL:从B树到B+树到索引再到存储引擎
- Winform中跨窗体设置ZedGraph的属性并刷新曲线图
- 朱峰谈概念设计(七)创作性绘画教程
- Android 高级Drawable资源---复合Drawable----层Drawable
- 发布软件之前,怎样告诉用户怎么用
- jasper 获取当前日期_入侵Jasper以获取JSP页面的对象模型
- 工作185:解决vue+el-element二级联动,选项选择后不显示的问题
- Java与C语言混合编程
- 风变Python3---if条件相关的学习
- 在mysql中修改表名的sql语句
- spring mvc 实现websocket(服务器主动消息推送)
- Mac AE2018软件安装及破解
- 在你的ipad上使用Vscode撸代码(快速操作向)
- pytorch 提取权重_获取Pytorch中间某一层权重或者特征
- YOLOv4: Optimal Speed and Accuracy of Object Detection
- 神经网络与深度学习 相关
- T237012 体积
- python tkinter treeview_Python tkinter treeview列大小
热门文章
- 代友招中高级.NET开发工程师【上海-徐汇】
- Delphi 与 DirectX 之 DelphiX(52): TDIB.DoSaturation();
- left join 一对多_MYSQL 连接查询算法:JOIN语句在 MYSQL 内部到底是怎么执行的
- JAVA SE学习day_04:RandomAccessFile
- XamarinSQLite教程在Xamarin.Android项目中定位数据库文件
- 在python中可以使用for作为变量名对吗,在Python中使用循环来命名变量
- vrrp广播风暴_企业园区网MSTP+VRRP组合
- php 中memcache的应用场景,php当中的memcache应用
- 搜集了一些模型,精模低模都有
- 南非的5DT数据手套使用说明