文档章节

UIBezierPath 画勾,圆

朦朦胧胧蓝
 朦朦胧胧蓝
发布于 2016/01/06 21:58
字数 210
阅读 10
收藏 0
//bgView 是一个UIView,我将它作为底图
//以bgView 为基准选定位置
    CGPoint pathCenter = CGPointMake(bgView.frame.size.width/2, bgView.frame.size.height/2 - 50);
//画出一个圆(起始为0,画360°,半径为40)
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:pathCenter radius:40 startAngle:0 endAngle:M_PI *2  clockwise:YES];
    
    path.lineCapStyle  = kCGLineCapRound; // 线条拐角
    path.lineJoinStyle = kCGLineCapRound; // 线条终点处理
    
    //画勾(起点,最低点,最高点)并将画的线添加上去
    CGFloat x = bgView.frame.size.width/2.5 + 5;
    CGFloat y = bgView.frame.size.height/2 - 45;
    [path moveToPoint:CGPointMake(x, y)];
    [path addLineToPoint:CGPointMake(x + 10, y + 30)];
    [path addLineToPoint:CGPointMake(x + 50, y - 30)];
    
    CAShapeLayer *layer = [[CAShapeLayer alloc] init];
    //图层中线条的颜色
    layer.strokeColor = [[UIColor redColor] CGColor];
    layer.path = path.CGPath;
    //图层未画图部分填充色,默认是黑色
    layer.fillColor = [UIColor clearColor].CGColor;
    //图层中线条宽度
    layer.lineWidth = 5;
    //添加动画,图层上的线条呈现画的效果
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:NSStringFromSelector(@selector(strokeStart))];
    animation.fromValue = @0;
    animation.toValue = @1;
    animation.duration = 0.5;
    [layer addAnimation:animation forKey:NSStringFromSelector(@selector(strokeStart))];
    [bgView.layer addSublayer:layer];

© 著作权归作者所有

上一篇: 设计模式-SingleTon
下一篇: 面试题(一)
朦朦胧胧蓝
粉丝 0
博文 5
码字总数 1355
作品 0
杭州
程序员
私信 提问
iOS Quartz2D基本图形绘制

Quartz2D 1.基本图形绘制有三大类 线 长方形 圆与扇形 以上三种进行代码分类,如图: 2.针对三类解释(解释在代码中) 线 长方形 圆与扇形 3.详细源代码 github

AppleDream
2016/06/22
20
0
iOS 简单的使用UIBezierPath绘制

UIBezierPath这个类呢主要用于绘图。 之前的项目中需要绘图的部分都是用Core Graphics来绘制,OC是我的第一门语言,所以对于Core Graphics的C语言API不太适应,最近发现原来苹果的UIKit中已经...

沉恋
2015/03/20
0
0
iOS BeizierPath 绘图

iOS BeizierPath 绘图 最近工作,因为是一款理财的产品,所以进度条改成圆,当然也参考了几篇优秀的博文,稍后一一罗列,下面简单介绍:使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit...

GLAlanTong
2016/03/27
69
0
Animation_ProgressAnimation

Welcome to my blog. Thanks. Dome: github地址 今天主要讲一些动画的运用,也就是进度条,有弧形的,扇形的,圆形的。 其实没什么难点,我封装在一个个View里,直接调用就行,弧度跟着进度条...

iOS小童
2017/11/23
0
0
【Swift】使用贝塞尔曲线绘制表情

1、创建一个基于UIView名为FaceView的类 我们不直接在HappinessViewController(根视图控制器) 中实现,而是将FaceView完全独立出来,这正是遵循了MVC的设计原则。我们主要通过贝塞尔曲线来实...

魔笛GNR
2016/07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用Apache Kudu和Impala实现存储分层

当为应用程序的数据选择一个存储系统时,我们通常会选择一个最适合我们业务场景的存储系统。对于快速更新和实时分析工作较多的场景,我们可能希望使用Apache Kudu,但是对于低成本的大规模可...

九州暮云
4分钟前
2
0
MySQL8.0 - 新特性 - 安全及权限相关改进

MySQL8.0里引入了不少关于权限的改动,从这些改动可以看出来,权限管理更加的规范和遍历了,这和我们之前为rds mysql增加了大量权限管理很类似,想来Oracle也是通过这些改动为其云业务服务的...

阿里云云栖社区
8分钟前
2
0
路由器的使用

第一步、连接无线路由器 把从房东家拉过来的网线,连接到路由器的WAN口;在准备一根网线,网线一端连接计算机,另一端连接路由器1、2、3、4口中的任意一个接口,如下所示。 从房东家拉网线上...

WinkJie
12分钟前
0
0
log4j:WARN No appenders could be found for logger

如提示,log4j没有配置日志记录的位置,需要配置log4j.properties,在src目录下新建log4j.properties, 将下面的内容写入文件 1.应用于控制台 log4j.appender.CONSOLE = org.apache.log4j.Co...

我叫小糖主
13分钟前
0
0
使用Eclipse内置的MAT插件分析dump文件时报错

下载下来一点dump文件很大,然后使用mat分析的时候mat本身报错 Out of Memory Error while Running the Memory Analyzer 这是因为eclipse配置的内存太小了导致的,网上查了下都是去改MemoryA...

V字仇杀
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部