关于CAShapeLayer的一些基本操作
设置圆形进度条:
实现效果如下:

实现代码如下:(注释很详细啦!!!)
UIView *circleView = [[UIView alloc]initWithFrame:CGRectMake(, , , )];
shapeView.backgroundColor = [UIColor greenColor];
[self.view addSubview:circleView]; // 实现圆形进度条 CAShapeLayer *shapeLayer =[CAShapeLayer layer];
shapeLayer.frame = circleView.bounds;
//绘制
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:circleView.bounds];
shapeLayer.path = path.CGPath;
// 设置填充颜色
shapeLayer.fillColor = [UIColor greenColor].CGColor;
// 设置线条宽度
shapeLayer.lineWidth = 2.0f;
// 设置线条颜色
shapeLayer.strokeColor = [UIColor redColor].CGColor;
[circleView.layer addSublayer:shapeLayer]; // 设置基础动画
CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
pathAnimation.duration = 3.0;
pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
pathAnimation.toValue = [NSNumber numberWithFloat:1.0f];
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
[shapeLayer addAnimation:pathAnimation forKey:@"strokeEndAnimation"];
最后记录一个警告的意思和处理方法:

如果出现上面的这警告问题,原因是:
这个往往是复制网上的带格式的代码导致的。
解决办法:
在提示的地方进行换行处理,首先先选中提示的"_".然后按回车键即可。
最好的方法还是自己敲代码比较合适,不复制就不会出现这些警告啦!!!!
关于CAShapeLayer的一些基本操作的更多相关文章
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
- python之最强王者(10)———文件(File)、输入输出的基本操作
1. Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 2.打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...
随机推荐
- MySQL进阶 9: 联合查询 - 查询语句1 union 查询语句2 union ...
#进阶 : 联合查询 /* union 联合 合并: 将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union ... 应用语境: 要查询的结果来自多个表,但查询的列 ...
- .net 后台给html控件赋值
接上篇,上篇中每个专业的名称是写死的,如何动态获取数据库中的值,同时对其他代码产生最小影响呢? 前台代码 <div " id="div1" runat=" ...
- unittest简单使用的介绍
无论是paython+request接口测试.ui自动化测试等,都常会用到unittest的框架,简单的介绍如下:
- oracle 给表字段把VARCHAR2 换成 CLOB
select * from TableName -- 添加一个字段 alter table TableName add 字段2 clob; --复制数据到此字段update TableName set ...
- c语言1博客作业09
一.本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/10033 ...
- Java8-Lock-No.05
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...
- nginx中location的顺序(优先级)及rewrite规则写法
一.location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所 ...
- 004_linux驱动之_class_create创建一个设备类
(一)解析:class_create函数和class_destroy函数 创建一个类 和 删除一个类. (二)class_create函数原型 struc ...
- React中生命周期
1.过时的生命周期(v16.3之前) 1.当前组件初次渲染: 绿色表示执行顺序. constructor(): 如果不需要初始化,可以直接省略,会自动补全该函数. 可以在这个方法中初始化this.st ...
- java+web+多级文件上传
文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...